Ignore:
Timestamp:
10/16/12 13:04:44 (8 years ago)
Author:
ymipsl
Message:

Major Update

  • redesign Type and attribute manipulation
  • add enumerate type and attribute
  • use blitz class array instead of boost class array

YM

File:
1 edited

Legend:

Unmodified
Added
Removed
  • XIOS/trunk/src/functor/maximum.cpp

    r335 r369  
    11#include "maximum.hpp" 
    2 #include <algorithm> 
     2#include "array_new.hpp" 
     3 
    34 
    45 
     
    910      /// ////////////////////// Définitions ////////////////////// /// 
    1011 
    11       CMaximum::CMaximum(DoubleArray doutput) 
     12      CMaximum::CMaximum(CArray<double,1>& doutput) 
    1213         : SuperClass(StdString("maximum"), doutput) 
    1314      { /* Ne rien faire de plus */ } 
     
    1819      //--------------------------------------------------------------- 
    1920 
    20       void CMaximum::apply(const DoubleArray _dinput, 
    21                                  DoubleArray _doutput) 
     21      void CMaximum::apply(const CArray<double,1>& _dinput, 
     22                                 CArray<double,1>& _doutput) 
    2223      { 
    23          const double * it1  = _dinput->data(), 
    24                       * end1 = _dinput->data() + _dinput->num_elements(); 
    25                double * it   = _doutput->data(); 
    26          if (this->nbcall == 1) 
    27               for (; it1 != end1; it1++, it++) *it = *it1; 
     24        const double * it1  = _dinput.dataFirst(), 
     25                     * end1 = _dinput.dataFirst() + _dinput.numElements(); 
     26              double * it   = _doutput.dataFirst(); 
     27         if (this->nbcall == 1) for (; it1 != end1; it1++, it++) *it = *it1; 
    2828         else for (; it1 != end1; it1++, it++) *it = std::max(*it1, *it); 
    2929 
    30          it1  = _dinput->data(), 
    31          end1 = _dinput->data() + _dinput->num_elements(); 
    32          it  = _doutput->data(); 
    33          double sum=0 ; 
    34          for (; it1 != end1; it1++, it++) sum+=*it; 
     30 
    3531      } 
    3632 
Note: See TracChangeset for help on using the changeset viewer.