Ignore:
Timestamp:
02/16/05 12:26:03 (19 years ago)
Author:
mar637
Message:
  • Added extendLastArrayAxis
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/MathUtils2.cc

    r364 r452  
    3131
    3232#include <casa/aips.h>
     33#include <casa/Arrays/Array.h>
     34#include <casa/Arrays/ArrayIter.h>
    3335#include <casa/Arrays/Vector.h>
    3436#include <casa/Arrays/VectorSTLIterator.h>
     
    108110}
    109111
    110 
    111  
    112 
    113 
    114 
     112template <class T>
     113void mathutil::extendLastArrayAxis(casa::Array<T>& out,
     114                                   const casa::Array<T>& in,
     115                                   const T& initVal)
     116{
     117 
     118  IPosition ipin = in.shape();
     119  IPosition ipout = ipin; // copy?
     120  // extend the axis by 1
     121  uInt axis = in.ndim()-1;
     122  ipout[axis] = ipin[axis]+1;
     123  out.resize(ipout);
     124  out = initVal;
     125  ArrayIterator<T> itout(out,axis);
     126  ReadOnlyArrayIterator<T> itin(in,axis);
     127  while ( !itin.pastEnd() ) {
     128    itout.array() = itin.array();  // copy vector by vector
     129    itin.next(); itout.next();
     130  }
     131}
Note: See TracChangeset for help on using the changeset viewer.