HandlerList ConvolutionUInt8_GetSSEHandlers() { HandlerList lstHandlers; lstHandlers.push_back( ConvolutionUInt8Handler::Create< ConvolutionUInt8Handler_SSE2 >() ); lstHandlers.push_back( ConvolutionUInt8Handler::Create< ConvolutionUInt8Handler_SSE3 >() ); lstHandlers.push_back( ConvolutionUInt8Handler::Create< ConvolutionUInt8Handler_SSSE3 >() ); lstHandlers.push_back( ConvolutionUInt8Handler::Create< ConvolutionUInt8Handler_SSE4_1 >() ); lstHandlers.push_back( ConvolutionUInt8Handler::Create< ConvolutionUInt8Handler_SSE4_2 >() ); return std::move( lstHandlers ); }
HandlerList TopologicalErosionFloat_GetSSEHandlers() { HandlerList lstHandlers; lstHandlers.push_back( TopologicalErosionFloatHandler::Create< TopologicalErosionFloatHandler_SSE2 >() ); lstHandlers.push_back( TopologicalErosionFloatHandler::Create< TopologicalErosionFloatHandler_SSE3 >() ); lstHandlers.push_back( TopologicalErosionFloatHandler::Create< TopologicalErosionFloatHandler_SSSE3 >() ); lstHandlers.push_back( TopologicalErosionFloatHandler::Create< TopologicalErosionFloatHandler_SSE4_1 >() ); lstHandlers.push_back( TopologicalErosionFloatHandler::Create< TopologicalErosionFloatHandler_SSE4_2 >() ); return std::move( lstHandlers ); }
HandlerList BubbleSortMedianOptimizedFloat_GetSSEHandlers() { HandlerList lstHandlers; lstHandlers.push_back( BubbleSortMedianOptimizedFloatHandler::Create< BubbleSortMedianOptimizedFloatHandler_SSE2 >() ); lstHandlers.push_back( BubbleSortMedianOptimizedFloatHandler::Create< BubbleSortMedianOptimizedFloatHandler_SSE3 >() ); lstHandlers.push_back( BubbleSortMedianOptimizedFloatHandler::Create< BubbleSortMedianOptimizedFloatHandler_SSSE3 >() ); lstHandlers.push_back( BubbleSortMedianOptimizedFloatHandler::Create< BubbleSortMedianOptimizedFloatHandler_SSE4_1 >() ); lstHandlers.push_back( BubbleSortMedianOptimizedFloatHandler::Create< BubbleSortMedianOptimizedFloatHandler_SSE4_2 >() ); return std::move( lstHandlers ); }
HandlerList ImageAddFloat_GetSSEHandlers() { HandlerList lstHandlers; lstHandlers.push_back( ImageAddFloatHandler::Create< ImageAddFloatHandler_SSERef >() ); lstHandlers.push_back( ImageAddFloatHandler::Create< ImageAddFloatHandler_SSE >() ); lstHandlers.push_back( ImageAddFloatHandler::Create< ImageAddFloatHandler_SSE2 >() ); lstHandlers.push_back( ImageAddFloatHandler::Create< ImageAddFloatHandler_SSE3 >() ); lstHandlers.push_back( ImageAddFloatHandler::Create< ImageAddFloatHandler_SSSE3 >() ); lstHandlers.push_back( ImageAddFloatHandler::Create< ImageAddFloatHandler_SSE4_1 >() ); lstHandlers.push_back( ImageAddFloatHandler::Create< ImageAddFloatHandler_SSE4_2 >() ); return std::move( lstHandlers ); }
HandlerList MinMaxDetectorFloat_GetAVXHandlers() { HandlerList lstHandlers; lstHandlers.push_back( MinMaxDetectorFloatHandler::Create< MinMaxDetectorFloatHandler_AVX >() ); return std::move( lstHandlers ); }
HandlerList NormalizedGradientUInt8_GetAVXHandlers() { HandlerList lstHandlers; lstHandlers.push_back( NormalizedGradientUInt8Handler::Create< NormalizedGradientUInt8Handler_AVX >() ); return std::move( lstHandlers ); }
HandlerList TopologicalErosionFloat_GetAVXHandlers() { HandlerList lstHandlers; lstHandlers.push_back( TopologicalErosionFloatHandler::Create< TopologicalErosionFloatHandler_AVX >() ); return std::move( lstHandlers ); }
HandlerList ConvolutionFloat_GetAVXHandlers() { HandlerList lstHandlers; lstHandlers.push_back( ConvolutionFloatHandler::Create< ConvolutionFloatHandler_AVX >() ); return std::move( lstHandlers ); }
HandlerList ImageAddFloat_GetAVXHandlers() { HandlerList lstHandlers; lstHandlers.push_back( ImageAddFloatHandler::Create< ImageAddFloatHandler_AVXRef >() ); lstHandlers.push_back( ImageAddFloatHandler::Create< ImageAddFloatHandler_AVX >() ); return std::move( lstHandlers ); }
void SignalHandler::handle_signal( int signal) { typedef std::vector<const HandlerMap::value_type *> HandlerList; time_t now = ::time(NULL); std::cerr << "Sierra received signal " << signal << " at " << ::ctime(&now) << std::endl; HandlerList handlers; std::pair<HandlerMap::const_iterator, HandlerMap::const_iterator> range = m_handlerMap.equal_range(signal); for (HandlerMap::const_iterator pos = range.first; pos != range.second; ++pos) handlers.push_back(&*pos); for (HandlerList::const_iterator it = handlers.begin(); it != handlers.end(); ++it) { CallbackBase &obj = *(*it)->second; obj(); } }