Ignore:
Timestamp:
10/16/12 13:04:44 (12 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/minimum.cpp

    r335 r369  
    11#include "minimum.hpp" 
     2#include "array_new.hpp" 
     3#include <algorithm> 
    24 
    35namespace xios 
     
    79      /// ////////////////////// Définitions ////////////////////// /// 
    810 
    9       CMinimum::CMinimum(DoubleArray doutput) 
     11      CMinimum::CMinimum(CArray<double,1>& doutput) 
    1012         : SuperClass(StdString("minimum"), doutput) 
    1113      { /* Ne rien faire de plus */ } 
     
    1618      //--------------------------------------------------------------- 
    1719 
    18       void CMinimum::apply(const DoubleArray _dinput, 
    19                                  DoubleArray _doutput) 
     20      void CMinimum::apply(const CArray<double,1>& _dinput, 
     21                                 CArray<double,1>& _doutput) 
    2022      { 
    21          const double * it1  = _dinput->data(), 
    22                       * end1 = _dinput->data() + _dinput->num_elements(); 
    23          double * it   = _doutput->data(); 
    24          if (this->nbcall == 1) 
    25               for (; it1 != end1; it1++, it++) *it = *it1; 
    26          else for (; it1 != end1; it1++, it++) *it = std::min(*it1, *it); 
     23        const double * it1  = _dinput.dataFirst(), 
     24                      * end1 = _dinput.dataFirst() + _dinput.numElements(); 
     25        double * it   = _doutput.dataFirst(); 
     26         
     27        if (this->nbcall == 1)  for (; it1 != end1; it1++, it++) *it = *it1; 
     28        else for (; it1 != end1; it1++, it++) *it = std::min(*it1, *it); 
     29 
    2730      } 
    2831 
Note: See TracChangeset for help on using the changeset viewer.