Ignore:
Timestamp:
01/25/17 16:25:17 (7 years ago)
Author:
yushan
Message:

initialize the branch

Location:
XIOS/dev/branch_yushan/src/functor
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • XIOS/dev/branch_yushan/src/functor/accumulate.cpp

    r1018 r1037  
    11#include "accumulate.hpp" 
    22#include "array_new.hpp" 
    3 #include "utils.hpp" 
    43 
    54namespace xios 
     
    3433            double* out=_doutput.dataFirst(); 
    3534            for (i=0; i<n; ++i,++in,++out)  
    36               if (!NumTraits<double>::isnan(*in)) 
     35              if (*in!=missingValue) 
    3736              { 
    38                 if(!NumTraits<double>::isnan(*out)) *out  += *in; 
     37                if(*out!=missingValue) *out  += *in; 
    3938                else *out=*in ; 
    4039              } 
  • XIOS/dev/branch_yushan/src/functor/average.cpp

    r1018 r1037  
    11#include "average.hpp" 
    22#include "array_new.hpp" 
    3 #include "utils.hpp" 
    43 
    54namespace xios 
     
    4342            int* nc=nbcalls.dataFirst() ; 
    4443            for (i=0; i<n; ++i,++nc,++in)  
    45               if (!NumTraits<double>::isnan(*in)) (*nc) ++; 
     44              if (*in!=missingValue) (*nc) ++; 
    4645          } 
    4746        } 
     
    5554            int* nc=nbcalls.dataFirst() ; 
    5655            for (i=0; i<n; ++i,++in,++out,++nc)  
    57               if (!NumTraits<double>::isnan(*in))  
     56              if (*in!=missingValue)  
    5857              { 
    5958                if (*nc != 0) (*out)  += *in; 
  • XIOS/dev/branch_yushan/src/functor/maximum.cpp

    r1018 r1037  
    11#include "maximum.hpp" 
    22#include "array_new.hpp" 
    3 #include "utils.hpp" 
     3 
     4 
    45 
    56namespace xios 
     
    3435           {  
    3536             for (; it1 != end1; it1++, it++)  
    36                if (!NumTraits<double>::isnan(*it1)) 
     37               if (*it1 != missingValue) 
    3738               { 
    38                  if (!NumTraits<double>::isnan(*it)) *it = std::max(*it1, *it); 
     39                 if ( *it != missingValue) *it = std::max(*it1, *it); 
    3940                 else *it=*it1 ;   
    4041               } 
  • XIOS/dev/branch_yushan/src/functor/minimum.cpp

    r1018 r1037  
    22#include "array_new.hpp" 
    33#include <algorithm> 
    4 #include "utils.hpp" 
    54 
    65namespace xios 
     
    2726      { 
    2827        const double * it1  = _dinput.dataFirst(), 
    29                       *end1 = _dinput.dataFirst() + _dinput.numElements(); 
     28                      * end1 = _dinput.dataFirst() + _dinput.numElements(); 
    3029        double * it   = _doutput.dataFirst(); 
    3130         
     
    3635          {  
    3736            for (; it1 != end1; it1++, it++)  
    38               if (!NumTraits<double>::isnan(*it1)) 
     37              if (*it1!=missingValue) 
    3938              { 
    40                 if (!NumTraits<double>::isnan(*it)) *it = std::min(*it1, *it); 
     39                if (*it != missingValue) *it = std::min(*it1, *it); 
    4140                else *it=*it1 ; 
    4241              } 
Note: See TracChangeset for help on using the changeset viewer.