- Timestamp:
- 06/06/17 15:12:34 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
XIOS/dev/branch_yushan_merged/src/transformation/Functions/reduction.cpp
r1153 r1155 11 11 //std::map<StdString,EReductionType> CReductionAlgorithm::ReductionOperations = std::map<StdString,EReductionType>(); 12 12 std::map<StdString,EReductionType> *CReductionAlgorithm::ReductionOperations_ptr = 0; 13 14 bool CReductionAlgorithm::initReductionOperation(std::map<StdString,EReductionType>& m) 15 { 16 // So so stupid way to intialize operation but it works ... 17 m["sum"] = TRANS_REDUCE_SUM; 18 CSumReductionAlgorithm::registerTrans(); 19 20 m["min"] = TRANS_REDUCE_MIN; 21 CMinReductionAlgorithm::registerTrans(); 22 23 m["max"] = TRANS_REDUCE_MAX; 24 CMaxReductionAlgorithm::registerTrans(); 25 26 m["extract"] = TRANS_REDUCE_EXTRACT; 27 CExtractReductionAlgorithm::registerTrans(); 28 29 m["average"] = TRANS_REDUCE_AVERAGE; 30 CAverageReductionAlgorithm::registerTrans(); 31 } 13 //#pragma omp threadprivate(CReductionAlgorithm::ReductionOperations_ptr) 32 14 33 15 34 16 bool CReductionAlgorithm::initReductionOperation() 35 17 { 36 if(CReductionAlgorithm::ReductionOperations_ptr == NULL)CReductionAlgorithm::ReductionOperations_ptr = new std::map<StdString,EReductionType>();18 CReductionAlgorithm::ReductionOperations_ptr = new std::map<StdString,EReductionType>(); 37 19 // So so stupid way to intialize operation but it works ... 38 20 (*CReductionAlgorithm::ReductionOperations_ptr)["sum"] = TRANS_REDUCE_SUM; … … 50 32 (*CReductionAlgorithm::ReductionOperations_ptr)["average"] = TRANS_REDUCE_AVERAGE; 51 33 CAverageReductionAlgorithm::registerTrans(); 52 53 printf("*CReductionAlgorithm::ReductionOperations_ptr = %p\t %p\n", *CReductionAlgorithm::ReductionOperations_ptr, &(*CReductionAlgorithm::ReductionOperations_ptr));54 34 } 55 35 56 36 //bool CReductionAlgorithm::_dummyInit = CReductionAlgorithm::initReductionOperation(CReductionAlgorithm::ReductionOperations); 57 bool CReductionAlgorithm::_dummyInit = CReductionAlgorithm::initReductionOperation();37 //bool CReductionAlgorithm::_dummyInit = CReductionAlgorithm::initReductionOperation(); 58 38 59 39 CReductionAlgorithm* CReductionAlgorithm::createOperation(EReductionType reduceType) 60 40 { 61 41 int reduceTypeInt = reduceType; 62 //if (0 == reductionCreationCallBacks_)63 // reductionCreationCallBacks_ = new CallBackMap();64 42 65 43 CallBackMap::const_iterator it = (*reductionCreationCallBacks_).find(reduceType);
Note: See TracChangeset
for help on using the changeset viewer.