From 345bc633cc96e0fc650aadd27ecb77f469e9f02e Mon Sep 17 00:00:00 2001 From: Roman Donchenko Date: Tue, 13 Aug 2013 17:35:25 +0400 Subject: [PATCH] Boring changes - ml. --- modules/ml/include/opencv2/ml.hpp | 2 +- modules/ml/src/rtrees.cpp | 2 +- modules/ml/src/tree.cpp | 22 +++++++++++----------- 3 files changed, 13 insertions(+), 13 deletions(-) diff --git a/modules/ml/include/opencv2/ml.hpp b/modules/ml/include/opencv2/ml.hpp index 5e7871da3..2b84d67ca 100644 --- a/modules/ml/include/opencv2/ml.hpp +++ b/modules/ml/include/opencv2/ml.hpp @@ -2148,7 +2148,7 @@ typedef CvANN_MLP NeuralNet_MLP; typedef CvGBTreesParams GradientBoostingTreeParams; typedef CvGBTrees GradientBoostingTrees; -template<> CV_EXPORTS void Ptr::delete_obj(); +template<> CV_EXPORTS void DefaultDeleter::operator ()(CvDTreeSplit* obj) const; CV_EXPORTS bool initModule_ml(void); } diff --git a/modules/ml/src/rtrees.cpp b/modules/ml/src/rtrees.cpp index fcb1baf6b..c41b84214 100644 --- a/modules/ml/src/rtrees.cpp +++ b/modules/ml/src/rtrees.cpp @@ -126,7 +126,7 @@ void ForestTreeBestSplitFinder::operator()(const BlockedRange& range) } if( res && bestSplit->quality < split->quality ) - memcpy( (CvDTreeSplit*)bestSplit, (CvDTreeSplit*)split, splitSize ); + memcpy( bestSplit.get(), split.get(), splitSize ); } } } diff --git a/modules/ml/src/tree.cpp b/modules/ml/src/tree.cpp index d195385d7..3a67cdd37 100644 --- a/modules/ml/src/tree.cpp +++ b/modules/ml/src/tree.cpp @@ -1882,7 +1882,7 @@ double CvDTree::calc_node_dir( CvDTreeNode* node ) namespace cv { -template<> CV_EXPORTS void Ptr::delete_obj() +template<> CV_EXPORTS void DefaultDeleter::operator ()(CvDTreeSplit* obj) const { fastFree(obj); } @@ -1893,12 +1893,12 @@ DTreeBestSplitFinder::DTreeBestSplitFinder( CvDTree* _tree, CvDTreeNode* _node) node = _node; splitSize = tree->get_data()->split_heap->elem_size; - bestSplit = (CvDTreeSplit*)fastMalloc(splitSize); - memset((CvDTreeSplit*)bestSplit, 0, splitSize); + bestSplit.reset((CvDTreeSplit*)fastMalloc(splitSize)); + memset(bestSplit.get(), 0, splitSize); bestSplit->quality = -1; bestSplit->condensed_idx = INT_MIN; - split = (CvDTreeSplit*)fastMalloc(splitSize); - memset((CvDTreeSplit*)split, 0, splitSize); + split.reset((CvDTreeSplit*)fastMalloc(splitSize)); + memset(split.get(), 0, splitSize); //haveSplit = false; } @@ -1908,10 +1908,10 @@ DTreeBestSplitFinder::DTreeBestSplitFinder( const DTreeBestSplitFinder& finder, node = finder.node; splitSize = tree->get_data()->split_heap->elem_size; - bestSplit = (CvDTreeSplit*)fastMalloc(splitSize); - memcpy((CvDTreeSplit*)(bestSplit), (const CvDTreeSplit*)finder.bestSplit, splitSize); - split = (CvDTreeSplit*)fastMalloc(splitSize); - memset((CvDTreeSplit*)split, 0, splitSize); + bestSplit.reset((CvDTreeSplit*)fastMalloc(splitSize)); + memcpy(bestSplit.get(), finder.bestSplit.get(), splitSize); + split.reset((CvDTreeSplit*)fastMalloc(splitSize)); + memset(split.get(), 0, splitSize); } void DTreeBestSplitFinder::operator()(const BlockedRange& range) @@ -1944,14 +1944,14 @@ void DTreeBestSplitFinder::operator()(const BlockedRange& range) } if( res && bestSplit->quality < split->quality ) - memcpy( (CvDTreeSplit*)bestSplit, (CvDTreeSplit*)split, splitSize ); + memcpy( bestSplit.get(), split.get(), splitSize ); } } void DTreeBestSplitFinder::join( DTreeBestSplitFinder& rhs ) { if( bestSplit->quality < rhs.bestSplit->quality ) - memcpy( (CvDTreeSplit*)bestSplit, (CvDTreeSplit*)rhs.bestSplit, splitSize ); + memcpy( bestSplit.get(), rhs.bestSplit.get(), splitSize ); } }