From 79b593d8d80ea6504ffe89b667c2902b77e136ff Mon Sep 17 00:00:00 2001 From: Vadim Pisarevsky Date: Sun, 3 Aug 2014 13:08:03 +0400 Subject: [PATCH] more fixes and more debugging code --- modules/ml/src/precomp.hpp | 3 ++- modules/ml/src/tree.cpp | 21 +++++++++++++++++++++ 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/modules/ml/src/precomp.hpp b/modules/ml/src/precomp.hpp index ca47395..d308ae9 100644 --- a/modules/ml/src/precomp.hpp +++ b/modules/ml/src/precomp.hpp @@ -158,7 +158,8 @@ namespace ml { WSplit() { - varIdx = inversed = next = 0; + varIdx = next = 0; + inversed = false; quality = c = 0.f; subsetOfs = -1; } diff --git a/modules/ml/src/tree.cpp b/modules/ml/src/tree.cpp index 49013e2..5113348 100644 --- a/modules/ml/src/tree.cpp +++ b/modules/ml/src/tree.cpp @@ -340,7 +340,28 @@ int DTreesImpl::addTree(const vector& sidx ) break; w_nidx = w->wnodes[w_pidx].right; +#if 1 + if( w_nidx < 0 ) + { + size_t i, nnodes = w->wnodes.size(); + printf("w_pidx = %d\nwnodes (%d): ", w_pidx, (int)n); + for( i = 0; i < nnodes; i++ ) + { + printf("[%d. depth=%d parent=%d, left=%d, right=%d] ", + (int)i, w->wnodes[i].depth, w->wnodes[i].parent, w->wnodes[i].left, w->wnodes[i].right); + } + + nnodes = nodes.size(); + printf("\nnodes (%d): ", (int)nnodes); + for( i = 0; i < nnodes; i++ ) + { + printf("[%d. parent=%d, left=%d, right=%d] ", (int)i, nodes[i].parent, nodes[i].left, nodes[i].right); + } + printf("\n"); + } +#else CV_Assert( w_nidx >= 0 ); +#endif } } roots.push_back(root); -- 2.7.4