Changeset 1339 for XIOS/dev/branch_openmp/src
- Timestamp:
- 11/21/17 13:42:35 (6 years ago)
- Location:
- XIOS/dev/branch_openmp/src/transformation
- Files:
-
- 12 edited
Legend:
- Unmodified
- Added
- Removed
-
XIOS/dev/branch_openmp/src/transformation/Functions/reduction.cpp
r1328 r1339 9 9 10 10 CReductionAlgorithm::CallBackMap* CReductionAlgorithm::reductionCreationCallBacks_ = 0; 11 //std::map<StdString,EReductionType> CReductionAlgorithm::ReductionOperations = std::map<StdString,EReductionType>();12 11 std::map<StdString,EReductionType> *CReductionAlgorithm::ReductionOperations_ptr = 0; 13 12 … … 52 51 53 52 //bool CReductionAlgorithm::_dummyInit = CReductionAlgorithm::initReductionOperation(CReductionAlgorithm::ReductionOperations); 54 bool CReductionAlgorithm::_dummyInit = CReductionAlgorithm::initReductionOperation();53 //bool CReductionAlgorithm::_dummyInit = CReductionAlgorithm::initReductionOperation(); 55 54 56 55 CReductionAlgorithm* CReductionAlgorithm::createOperation(EReductionType reduceType) -
XIOS/dev/branch_openmp/src/transformation/Functions/reduction.hpp
r1331 r1339 16 16 namespace xios { 17 17 18 /*! 18 /*! 19 19 \class CReductionAlgorithm 20 20 Interface for all reduction alogrithms. -
XIOS/dev/branch_openmp/src/transformation/axis_algorithm_extract_domain.cpp
r1328 r1339 13 13 #include "grid.hpp" 14 14 #include "grid_transformation_factory_impl.hpp" 15 #include "reduction.hpp"16 15 17 16 namespace xios { … … 62 61 63 62 pos_ = algo->position; 64 //reduction_ = CReductionAlgorithm::createOperation(CReductionAlgorithm::ReductionOperations[op]); 63 if(CReductionAlgorithm::ReductionOperations_ptr == 0) 64 { 65 CReductionAlgorithm::initReductionOperation(); 66 } 65 67 reduction_ = CReductionAlgorithm::createOperation(CReductionAlgorithm::ReductionOperations_ptr->at(op)); 66 68 } -
XIOS/dev/branch_openmp/src/transformation/axis_algorithm_extract_domain.hpp
r1328 r1339 13 13 #include "transformation.hpp" 14 14 15 #include "reduction.hpp" 15 16 namespace xios { 16 17 … … 25 26 Extract a domain to an axis 26 27 */ 27 class CAxisAlgorithmExtractDomain : public CAxisAlgorithmTransformation 28 class CAxisAlgorithmExtractDomain : public CAxisAlgorithmTransformation, public CReductionAlgorithm 28 29 { 29 30 public: -
XIOS/dev/branch_openmp/src/transformation/axis_algorithm_reduce_domain.cpp
r1328 r1339 13 13 #include "grid.hpp" 14 14 #include "grid_transformation_factory_impl.hpp" 15 #include "reduction.hpp"16 15 17 16 namespace xios { … … 70 69 71 70 dir_ = (CReduceDomainToAxis::direction_attr::iDir == algo->direction) ? iDir : jDir; 72 //reduction_ = CReductionAlgorithm::createOperation(CReductionAlgorithm::ReductionOperations[op]); 71 if(CReductionAlgorithm::ReductionOperations_ptr == 0) 72 { 73 CReductionAlgorithm::initReductionOperation(); 74 } 73 75 reduction_ = CReductionAlgorithm::createOperation(CReductionAlgorithm::ReductionOperations_ptr->at(op)); 74 76 } -
XIOS/dev/branch_openmp/src/transformation/axis_algorithm_reduce_domain.hpp
r1328 r1339 12 12 #include "axis_algorithm_transformation.hpp" 13 13 #include "transformation.hpp" 14 #include "reduction.hpp" 14 15 15 16 namespace xios { … … 24 25 Reduce a domain to an axis 25 26 */ 26 class CAxisAlgorithmReduceDomain : public CAxisAlgorithmTransformation 27 class CAxisAlgorithmReduceDomain : public CAxisAlgorithmTransformation, public CReductionAlgorithm 27 28 { 28 29 public: -
XIOS/dev/branch_openmp/src/transformation/scalar_algorithm_extract_axis.cpp
r1328 r1339 14 14 #include "grid_transformation_factory_impl.hpp" 15 15 16 #include "reduction.hpp"17 16 18 17 namespace xios { … … 49 48 StdString op = "extract"; 50 49 pos_ = algo->position; 51 //reduction_ = CReductionAlgorithm::createOperation(CReductionAlgorithm::ReductionOperations[op]); 50 if(CReductionAlgorithm::ReductionOperations_ptr == 0) 51 { 52 CReductionAlgorithm::initReductionOperation(); 53 } 52 54 reduction_ = CReductionAlgorithm::createOperation(CReductionAlgorithm::ReductionOperations_ptr->at(op)); 53 55 } -
XIOS/dev/branch_openmp/src/transformation/scalar_algorithm_extract_axis.hpp
r1328 r1339 12 12 #include "scalar_algorithm_transformation.hpp" 13 13 #include "transformation.hpp" 14 #include "reduction.hpp" 14 15 15 16 namespace xios { … … 24 25 Extract a scalar from an axis 25 26 */ 26 class CScalarAlgorithmExtractAxis : public CScalarAlgorithmTransformation 27 class CScalarAlgorithmExtractAxis : public CScalarAlgorithmTransformation, public CReductionAlgorithm 27 28 { 28 29 public: -
XIOS/dev/branch_openmp/src/transformation/scalar_algorithm_reduce_axis.cpp
r1334 r1339 13 13 #include "grid.hpp" 14 14 #include "grid_transformation_factory_impl.hpp" 15 #include "reduction.hpp"16 15 17 16 namespace xios { … … 73 72 } 74 73 74 if(CReductionAlgorithm::ReductionOperations_ptr == 0) 75 { 76 CReductionAlgorithm::initReductionOperation(); 77 } 78 75 79 //if (CReductionAlgorithm::ReductionOperations.end() == CReductionAlgorithm::ReductionOperations.find(op)) 76 if ( CReductionAlgorithm::ReductionOperations_ptr->end() == CReductionAlgorithm::ReductionOperations_ptr->find(op))80 if ((*CReductionAlgorithm::ReductionOperations_ptr).end() == (*CReductionAlgorithm::ReductionOperations_ptr).find(op)) 77 81 ERROR("CScalarAlgorithmReduceAxis::CScalarAlgorithmReduceAxis(CAxis* axisDestination, CAxis* axisSource, CReduceAxisToScalar* algo)", 78 82 << "Operation '" << op << "' not found. Please make sure to use a supported one" … … 81 85 82 86 //reduction_ = CReductionAlgorithm::createOperation(CReductionAlgorithm::ReductionOperations[op]); 83 reduction_ = CReductionAlgorithm::createOperation( CReductionAlgorithm::ReductionOperations_ptr->at(op));87 reduction_ = CReductionAlgorithm::createOperation((*CReductionAlgorithm::ReductionOperations_ptr)[op]); 84 88 } 85 89 -
XIOS/dev/branch_openmp/src/transformation/scalar_algorithm_reduce_axis.hpp
r1328 r1339 12 12 #include "scalar_algorithm_transformation.hpp" 13 13 #include "transformation.hpp" 14 #include "reduction.hpp" 14 15 15 16 namespace xios { … … 24 25 Reducing an axis to a scalar 25 26 */ 26 class CScalarAlgorithmReduceAxis : public CScalarAlgorithmTransformation 27 class CScalarAlgorithmReduceAxis : public CScalarAlgorithmTransformation, public CReductionAlgorithm 27 28 { 28 29 public: -
XIOS/dev/branch_openmp/src/transformation/scalar_algorithm_reduce_domain.cpp
r1328 r1339 14 14 #include "grid_transformation_factory_impl.hpp" 15 15 16 #include "reduction.hpp"17 16 18 17 namespace xios { … … 69 68 } 70 69 71 // if(CReductionAlgorithm::ReductionOperations_ptr == 0) 72 // CReductionAlgorithm::initReductionOperation(); 70 if(CReductionAlgorithm::ReductionOperations_ptr == 0) 71 { 72 CReductionAlgorithm::initReductionOperation(); 73 } 73 74 74 75 //if (CReductionAlgorithm::ReductionOperations.end() == CReductionAlgorithm::ReductionOperations.find(op)) -
XIOS/dev/branch_openmp/src/transformation/scalar_algorithm_reduce_domain.hpp
r1328 r1339 12 12 #include "scalar_algorithm_transformation.hpp" 13 13 #include "transformation.hpp" 14 #include "reduction.hpp" 14 15 15 16 namespace xios { … … 24 25 Reducing an DOMAIN to a scalar 25 26 */ 26 class CScalarAlgorithmReduceDomain : public CScalarAlgorithmTransformation 27 class CScalarAlgorithmReduceDomain : public CScalarAlgorithmTransformation, public CReductionAlgorithm 27 28 { 28 29 public:
Note: See TracChangeset
for help on using the changeset viewer.