Ignore:
Timestamp:
05/23/17 16:32:26 (7 years ago)
Author:
mhnguyen
Message:

Cleaning up some redundant codes

File:
1 edited

Legend:

Unmodified
Added
Removed
  • XIOS/dev/dev_olga/src/distribution_server.cpp

    r1129 r1144  
    1212namespace xios { 
    1313 
    14 CDistributionServer::CDistributionServer(int rank, int dims, const CArray<size_t,1>& globalIndex) 
    15   : CDistribution(rank, dims, globalIndex), nGlobal_(), nZoomSize_(), nZoomBegin_(), globalLocalIndexMap_(), 
    16   globalIndexEachDimension_() 
    17 { 
    18 } 
    19  
    20 CDistributionServer::CDistributionServer(int rank, const std::vector<int>& nZoomBegin, 
    21                                          const std::vector<int>& nZoomSize, const std::vector<int>& nGlobal) 
    22   : CDistribution(rank, nGlobal.size()), nGlobal_(nGlobal), nZoomSize_(nZoomSize), nZoomBegin_(nZoomBegin), globalLocalIndexMap_(), 
    23   globalIndexEachDimension_() 
    24 { 
    25   createGlobalIndex(); 
    26 } 
    27  
    2814CDistributionServer::CDistributionServer(int rank, const std::vector<int>& nZoomBegin, 
    2915                                         const std::vector<int>& nZoomSize, 
     
    3117                                         const std::vector<int>& nGlobal) 
    3218  : CDistribution(rank, nGlobal.size()), nGlobal_(nGlobal), nZoomBeginGlobal_(nZoomBeginGlobal), 
    33     nZoomSize_(nZoomSize), nZoomBegin_(nZoomBegin), globalLocalIndexMap_(), 
    34     globalIndexEachDimension_() 
     19    nZoomSize_(nZoomSize), nZoomBegin_(nZoomBegin), globalLocalIndexMap_() 
    3520{ 
    3621  createGlobalIndex(); 
    3722} 
    38  
    39 // CDistributionServer::CDistributionServer(int rank,  
    40 //                                          const std::vector<CArray<int,1> >& globalIndexEachDimension, 
    41 //                                          const std::vector<int>& nGlobal) 
    42 //   : CDistribution(rank, nGlobal.size()), nGlobal_(nGlobal), nZoomBeginGlobal_(), 
    43 //     nZoomSize_(), nZoomBegin_(), globalLocalIndexMap_(),  
    44 //     globalIndexEachDimension_(globalIndexEachDimension) 
    45 // { 
    46 //   createGlobalIndexFromIndex(globalIndexEachDimension, nGlobal); 
    47 // } 
    4823 
    4924CDistributionServer::~CDistributionServer() 
     
    9974    idxLoop[0] += innerLoopSize; 
    10075  } 
    101 } 
    102  
    103 // void CDistributionServer::createGlobalIndexFromIndex(const std::vector<CArray<int,1> >& globalIndexOnEachDimension, 
    104 //                                                      const std::vector<int>& nbGlobal) 
    105 // { 
    106 //   size_t idx = 0, ssize = 1; 
    107 //   for (int i = 0; i < globalIndexOnEachDimension.size(); ++i) ssize *= globalIndexOnEachDimension[i].numElements(); 
    108  
    109 //   this->globalIndex_.resize(ssize); 
    110 //   size_t nbDim = nbGlobal.size(); 
    111 //   std::vector<int> idxLoop(nbDim,0); 
    112 //   std::vector<int> currentIndex(nbDim); 
    113 //   int innerLoopSize = globalIndexOnEachDimension[0].numElements(); 
    114  
    115 //   globalLocalIndexMap_.rehash(std::ceil(ssize/globalLocalIndexMap_.max_load_factor())); 
    116 //   while (idx<ssize) 
    117 //   { 
    118 //     for (int i = 0; i < nbDim-1; ++i) 
    119 //     { 
    120 //       if (idxLoop[i] == globalIndexOnEachDimension[i].numElements()) 
    121 //       { 
    122 //         idxLoop[i] = 0; 
    123 //         ++idxLoop[i+1]; 
    124 //       } 
    125 //     } 
    126  
    127 //     for (int i = 1; i < nbDim; ++i) 
    128 //       currentIndex[i] = globalIndexOnEachDimension[i](idxLoop[i]); 
    129  
    130 //     size_t mulDim, globalIndex; 
    131 //     for (int i = 0; i < innerLoopSize; ++i) 
    132 //     { 
    133 //       mulDim = 1; 
    134 //       globalIndex = globalIndexOnEachDimension[0](i); 
    135  
    136 //       for (int k = 0; k < nbDim; ++k) 
    137 //       { 
    138 //         mulDim *= nbGlobal[k]; 
    139 //         globalIndex += (currentIndex[k])*mulDim; 
    140 //       } 
    141 //       globalLocalIndexMap_[globalIndex] = idx; 
    142 //       this->globalIndex_(idx) = globalIndex; 
    143  
    144 //       ++idx; 
    145 //     } 
    146 //     idxLoop[0] += innerLoopSize; 
    147 //   } 
    148  
    149 // } 
    150  
    151 /*! 
    152   Compute local index for writing data on server 
    153   \param [in] globalIndex global index received from client 
    154   \return local index of written data 
    155 */ 
    156 CArray<size_t,1> CDistributionServer::computeLocalIndex(const CArray<size_t,1>& globalIndex) 
    157 { 
    158   size_t ssize = globalIndex.numElements(); 
    159   size_t localIndexSize = std::min(globalIndex_.numElements(), ssize); 
    160   CArray<size_t,1> localIndex(localIndexSize); 
    161   GlobalLocalMap::const_iterator ite = globalLocalIndexMap_.end(), it; 
    162   for (int idx = 0, i = 0; idx < ssize; ++idx) 
    163   { 
    164     it = globalLocalIndexMap_.find(globalIndex(idx)); 
    165     if (ite != it) 
    166     { 
    167       localIndex(idx) = it->second; 
    168       ++i; 
    169     } 
    170   } 
    171  
    172   return localIndex; 
    17376} 
    17477 
Note: See TracChangeset for help on using the changeset viewer.