Ignore:
Timestamp:
05/16/17 17:54:30 (7 years ago)
Author:
yushan
Message:

branch merged with trunk r1130

File:
1 edited

Legend:

Unmodified
Added
Removed
  • XIOS/dev/branch_yushan_merged/src/transformation/Functions/reduction.cpp

    r979 r1134  
    99 
    1010CReductionAlgorithm::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>(); 
     12std::map<StdString,EReductionType> *CReductionAlgorithm::ReductionOperations_ptr = 0;  
     13 
    1214bool CReductionAlgorithm::initReductionOperation(std::map<StdString,EReductionType>& m) 
    1315{ 
     
    2931} 
    3032 
    31 bool CReductionAlgorithm::_dummyInit = CReductionAlgorithm::initReductionOperation(CReductionAlgorithm::ReductionOperations); 
     33 
     34bool 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); 
     55bool CReductionAlgorithm::_dummyInit = CReductionAlgorithm::initReductionOperation(); 
    3256 
    3357CReductionAlgorithm* CReductionAlgorithm::createOperation(EReductionType reduceType) 
    3458{ 
    3559  int reduceTypeInt = reduceType; 
     60  //if (0 == reductionCreationCallBacks_) 
     61  //  reductionCreationCallBacks_ = new CallBackMap(); 
     62 
    3663  CallBackMap::const_iterator it = (*reductionCreationCallBacks_).find(reduceType); 
    3764  if ((*reductionCreationCallBacks_).end() == it) 
Note: See TracChangeset for help on using the changeset viewer.