size_t GpuStatTimer::pruneOutliers( cl_double multiple ) { const int tableWidth = 60; const int tableHalf = tableWidth / 2; const int tableThird = tableWidth / 3; const int tableFourth = tableWidth / 4; const int tableFifth = tableWidth / 5; // Print label of timer, in a header std::string header( "StdDev" ); size_t sizeTitle = (header.size( ) + 6) /2; std::cout << std::endl; std::cout << std::setfill( '=' ) << std::setw( tableHalf ) << header << " ( " << multiple << " )" << std::setw( tableHalf - sizeTitle ) << "=" << std::endl; tout << std::setfill( _T( ' ' ) ); size_t tCount = 0; for( cl_uint l = 0; l < labelID.size( ); ++l ) { std::vector< size_t > lCount = pruneOutliers( l , multiple ); for( cl_uint c = 0; c < lCount.size( ); ++c ) { std::cout << labelID[l].first << "[ " << c << " ]" << ": Pruning " << lCount[ c ] << " samples out of " << currRecord << std::endl; tCount += lCount[ c ]; } } return tCount; }
unsigned int StatisticalTimer::pruneOutliers( double multiple ) { unsigned int tCount = 0; for( unsigned int l = 0; l < labelID.size( ); ++l ) { unsigned int lCount = pruneOutliers( l , multiple ); std::clog << "\tStatisticalTimer:: Pruning " << lCount << " samples from " << labelID[l].first << std::endl; tCount += lCount; } return tCount; }
size_t statTimer::pruneOutliers( double multiple ) { size_t tCount = 0; for( size_t l = 0; l < labelID.size( ); ++l ) { size_t lCount = pruneOutliers( l , multiple ); // tout << _T( "[StatisticalTimer]: Pruned " ) << lCount << _T( " samples from " ) << labelID[l].first << std::endl; tCount += lCount; } tout << std::endl; return tCount; }