Index: modules/core/src/matrix.cpp =================================================================== --- modules/core/src/matrix.cpp (revision 6258) +++ modules/core/src/matrix.cpp (working copy) @@ -2196,6 +2196,51 @@ return d; } +#ifdef HAVE_TBB + +class KMeansPPDistanceComputer +{ + float *tdist2; + const float *data; + const float *dist; + const int dims; + const int step; + const int stepci; + +public: + + KMeansPPDistanceComputer(float *_tdist2, + const float *_data, + const float *_dist, + int _dims, + int _step, + int _stepci) + : tdist2(_tdist2), + data(_data), + dist(_dist), + dims(_dims), + step(_step), + stepci(_stepci) + { + + } + + void operator()(const cv::BlockedRange& range) const + { + + const int begin = range.begin(); + const int end = range.end(); + + for (int i=begin; i