Ignore:
Timestamp:
05/02/17 16:20:47 (7 years ago)
Author:
yushan
Message:

test_omp OK

File:
1 edited

Legend:

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

    r1103 r1109  
    1212std::map<StdString,EReductionType> *CReductionAlgorithm::ReductionOperations_ptr = 0;  
    1313 
    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 // } 
    32  
    33 bool CReductionAlgorithm::initReductionOperation(std::map<StdString,EReductionType>* m) 
     14bool CReductionAlgorithm::initReductionOperation(std::map<StdString,EReductionType>& m) 
    3415{ 
    35   if(m==NULL) m=new std::map<StdString,EReductionType>(); 
    3616  // So so stupid way to intialize operation but it works ... 
    37   (*m)["sum"] = TRANS_REDUCE_SUM; 
     17  m["sum"] = TRANS_REDUCE_SUM; 
    3818  CSumReductionAlgorithm::registerTrans(); 
    3919 
    40   (*m)["min"] = TRANS_REDUCE_MIN; 
     20  m["min"] = TRANS_REDUCE_MIN; 
    4121  CMinReductionAlgorithm::registerTrans(); 
    4222 
    43   (*m)["max"] = TRANS_REDUCE_MAX; 
     23  m["max"] = TRANS_REDUCE_MAX; 
    4424  CMaxReductionAlgorithm::registerTrans(); 
    4525 
    46   (*m)["extract"] = TRANS_REDUCE_EXTRACT; 
     26  m["extract"] = TRANS_REDUCE_EXTRACT; 
    4727  CExtractReductionAlgorithm::registerTrans(); 
    4828 
    49   (*m)["average"] = TRANS_REDUCE_AVERAGE; 
     29  m["average"] = TRANS_REDUCE_AVERAGE; 
     30  CAverageReductionAlgorithm::registerTrans(); 
     31} 
     32 
     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; 
    5051  CAverageReductionAlgorithm::registerTrans(); 
    5152} 
    5253 
    5354//bool CReductionAlgorithm::_dummyInit = CReductionAlgorithm::initReductionOperation(CReductionAlgorithm::ReductionOperations); 
    54 bool CReductionAlgorithm::_dummyInit = CReductionAlgorithm::initReductionOperation(CReductionAlgorithm::ReductionOperations_ptr); 
     55bool CReductionAlgorithm::_dummyInit = CReductionAlgorithm::initReductionOperation(); 
    5556 
    5657CReductionAlgorithm* CReductionAlgorithm::createOperation(EReductionType reduceType) 
    5758{ 
    5859  int reduceTypeInt = reduceType; 
    59   if (0 == reductionCreationCallBacks_) 
    60     reductionCreationCallBacks_ = new CallBackMap(); 
     60  //if (0 == reductionCreationCallBacks_) 
     61  //  reductionCreationCallBacks_ = new CallBackMap(); 
    6162 
    6263  CallBackMap::const_iterator it = (*reductionCreationCallBacks_).find(reduceType); 
Note: See TracChangeset for help on using the changeset viewer.