Changeset 1037 for XIOS/dev/branch_yushan/src/functor
- Timestamp:
- 01/25/17 16:25:17 (7 years ago)
- Location:
- XIOS/dev/branch_yushan/src/functor
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
XIOS/dev/branch_yushan/src/functor/accumulate.cpp
r1018 r1037 1 1 #include "accumulate.hpp" 2 2 #include "array_new.hpp" 3 #include "utils.hpp"4 3 5 4 namespace xios … … 34 33 double* out=_doutput.dataFirst(); 35 34 for (i=0; i<n; ++i,++in,++out) 36 if ( !NumTraits<double>::isnan(*in))35 if (*in!=missingValue) 37 36 { 38 if( !NumTraits<double>::isnan(*out)) *out += *in;37 if(*out!=missingValue) *out += *in; 39 38 else *out=*in ; 40 39 } -
XIOS/dev/branch_yushan/src/functor/average.cpp
r1018 r1037 1 1 #include "average.hpp" 2 2 #include "array_new.hpp" 3 #include "utils.hpp"4 3 5 4 namespace xios … … 43 42 int* nc=nbcalls.dataFirst() ; 44 43 for (i=0; i<n; ++i,++nc,++in) 45 if ( !NumTraits<double>::isnan(*in)) (*nc) ++;44 if (*in!=missingValue) (*nc) ++; 46 45 } 47 46 } … … 55 54 int* nc=nbcalls.dataFirst() ; 56 55 for (i=0; i<n; ++i,++in,++out,++nc) 57 if ( !NumTraits<double>::isnan(*in))56 if (*in!=missingValue) 58 57 { 59 58 if (*nc != 0) (*out) += *in; -
XIOS/dev/branch_yushan/src/functor/maximum.cpp
r1018 r1037 1 1 #include "maximum.hpp" 2 2 #include "array_new.hpp" 3 #include "utils.hpp" 3 4 4 5 5 6 namespace xios … … 34 35 { 35 36 for (; it1 != end1; it1++, it++) 36 if ( !NumTraits<double>::isnan(*it1))37 if (*it1 != missingValue) 37 38 { 38 if ( !NumTraits<double>::isnan(*it)) *it = std::max(*it1, *it);39 if ( *it != missingValue) *it = std::max(*it1, *it); 39 40 else *it=*it1 ; 40 41 } -
XIOS/dev/branch_yushan/src/functor/minimum.cpp
r1018 r1037 2 2 #include "array_new.hpp" 3 3 #include <algorithm> 4 #include "utils.hpp"5 4 6 5 namespace xios … … 27 26 { 28 27 const double * it1 = _dinput.dataFirst(), 29 * end1 = _dinput.dataFirst() + _dinput.numElements();28 * end1 = _dinput.dataFirst() + _dinput.numElements(); 30 29 double * it = _doutput.dataFirst(); 31 30 … … 36 35 { 37 36 for (; it1 != end1; it1++, it++) 38 if ( !NumTraits<double>::isnan(*it1))37 if (*it1!=missingValue) 39 38 { 40 if ( !NumTraits<double>::isnan(*it)) *it = std::min(*it1, *it);39 if (*it != missingValue) *it = std::min(*it1, *it); 41 40 else *it=*it1 ; 42 41 }
Note: See TracChangeset
for help on using the changeset viewer.