33 : inp_(arr), haveudfs_(true)
35 { setOneLinePerFastestDim(); }
38 { withpos_ =
true; nlafter_ = 1; }
39 inline void setOneLinePerFastestDim();
40 inline void setOneLinePerSlowestDim();
55 const int nrdims = inp_.info().getNDim();
56 nlafter_ = nrdims < 2 ? 0 : inp_.info().getSize( nrdims - 1 );
63 const int nrdims = inp_.info().getNDim();
65 { nlafter_ = 0;
return; }
68 for (
int idim=1; idim<nrdims; idim++ )
69 nlafter_ *= inp_.info().getSize( idim );
76 if ( inp_.isEmpty() )
return;
79 const int nrdims = inp_.info().getNDim();
84 const int* pos = it.getPos();
85 if ( withpos_ && nrthisline == 0 )
87 for (
int idim=0; idim<nrdims; idim++ )
92 const T val = inp_.getND( pos );
93 if ( haveudfs_ &&
mIsUdf(val) )
102 if ( nrthisline == nlafter_ )
#define mIsUdf(val)
Use mIsUdf to check for undefinedness of simple types.
Definition: undefval.h:285
OD class for stream write common access to the user log file, or std::cout in batch progs...
Definition: od_ostream.h:25
bool withpos_
Definition: arraynddumper.h:45
#define od_int64
Definition: plftypes.h:34
ArrayNDDumper(const ArrayND< T > &arr)
Definition: arraynddumper.h:32
od_int64 nlafter_
Definition: arraynddumper.h:47
Dumps contents of ArrayND objects.
Definition: arraynddumper.h:28
void setOneLinePerFastestDim()
Definition: arraynddumper.h:53
#define od_tab
Definition: od_iosfwd.h:22
An ArrayND is an array with a given number of dimensions and a size.
Definition: arraynd.h:29
Iterates through all samples in an ArrayND.
Definition: arraynd.h:175
const ArrayND< T > & inp_
Definition: arraynddumper.h:44
void setSingleLineWithPos()
Definition: arraynddumper.h:37
bool haveudfs_
Definition: arraynddumper.h:46
#define mClass(module)
Definition: commondefs.h:161
void setOneLinePerSlowestDim()
Definition: arraynddumper.h:61
void dump(od_ostream &) const
Definition: arraynddumper.h:74
#define od_newline
Definition: od_iosfwd.h:23