- Timestamp:
- 05/16/17 17:54:30 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
XIOS/dev/branch_yushan_merged/src/transformation/Functions/reduction.cpp
r979 r1134 9 9 10 10 CReductionAlgorithm::CallBackMap* CReductionAlgorithm::reductionCreationCallBacks_ = 0; 11 std::map<StdString,EReductionType> CReductionAlgorithm::ReductionOperations = std::map<StdString,EReductionType>(); 11 //std::map<StdString,EReductionType> CReductionAlgorithm::ReductionOperations = std::map<StdString,EReductionType>(); 12 std::map<StdString,EReductionType> *CReductionAlgorithm::ReductionOperations_ptr = 0; 13 12 14 bool CReductionAlgorithm::initReductionOperation(std::map<StdString,EReductionType>& m) 13 15 { … … 29 31 } 30 32 31 bool CReductionAlgorithm::_dummyInit = CReductionAlgorithm::initReductionOperation(CReductionAlgorithm::ReductionOperations); 33 34 bool CReductionAlgorithm::initReductionOperation() 35 { 36 if(CReductionAlgorithm::ReductionOperations_ptr == NULL) CReductionAlgorithm::ReductionOperations_ptr = new std::map<StdString,EReductionType>(); 37 // So so stupid way to intialize operation but it works ... 38 (*CReductionAlgorithm::ReductionOperations_ptr)["sum"] = TRANS_REDUCE_SUM; 39 CSumReductionAlgorithm::registerTrans(); 40 41 (*CReductionAlgorithm::ReductionOperations_ptr)["min"] = TRANS_REDUCE_MIN; 42 CMinReductionAlgorithm::registerTrans(); 43 44 (*CReductionAlgorithm::ReductionOperations_ptr)["max"] = TRANS_REDUCE_MAX; 45 CMaxReductionAlgorithm::registerTrans(); 46 47 (*CReductionAlgorithm::ReductionOperations_ptr)["extract"] = TRANS_REDUCE_EXTRACT; 48 CExtractReductionAlgorithm::registerTrans(); 49 50 (*CReductionAlgorithm::ReductionOperations_ptr)["average"] = TRANS_REDUCE_AVERAGE; 51 CAverageReductionAlgorithm::registerTrans(); 52 } 53 54 //bool CReductionAlgorithm::_dummyInit = CReductionAlgorithm::initReductionOperation(CReductionAlgorithm::ReductionOperations); 55 bool CReductionAlgorithm::_dummyInit = CReductionAlgorithm::initReductionOperation(); 32 56 33 57 CReductionAlgorithm* CReductionAlgorithm::createOperation(EReductionType reduceType) 34 58 { 35 59 int reduceTypeInt = reduceType; 60 //if (0 == reductionCreationCallBacks_) 61 // reductionCreationCallBacks_ = new CallBackMap(); 62 36 63 CallBackMap::const_iterator it = (*reductionCreationCallBacks_).find(reduceType); 37 64 if ((*reductionCreationCallBacks_).end() == it)
Note: See TracChangeset
for help on using the changeset viewer.