#include <ArrayND.h>
Public Types | |
typedef ProperDblFromCmpl < Numeric >::type | proper_double |
typedef Numeric | value_type |
Public Member Functions | |
template<typename Num3 , typename Num2 , unsigned Len2, unsigned Dim2> | |
ArrayND & | addmul (const ArrayND< Num2, Len2, Dim2 > &r, const Num3 &c) |
template<typename Num3 , typename Num2 , unsigned Len2, unsigned Dim2> | |
ArrayND< Numeric, Len, Dim > & | addmul (const ArrayND< Num2, Len2, Dim2 > &r, const Num3 &c) |
template<class Functor > | |
ArrayND & | apply (Functor f) |
template<class Functor > | |
ArrayND< Numeric, Len, Dim > & | apply (Functor f) |
template<typename Num2 , unsigned Len2, unsigned Dim2, class Functor > | |
void | applySlice (ArrayND< Num2, Len2, Dim2 > &slice, const unsigned *fixedIndices, unsigned nFixedIndices, Functor binaryFunct) |
ArrayND () | |
ArrayND (const ArrayND &) | |
template<typename Num2 , unsigned Len2, unsigned Dim2> | |
ArrayND (const ArrayND< Num2, Len2, Dim2 > &) | |
template<typename Num2 , unsigned Len2, unsigned Dim2, class Functor > | |
ArrayND (const ArrayND< Num2, Len2, Dim2 > &, Functor f) | |
template<typename Num2 , unsigned Len2, unsigned Dim2> | |
ArrayND (const ArrayND< Num2, Len2, Dim2 > &from, const ArrayRange &fromRange) | |
template<typename Num2 , unsigned Len2, unsigned Dim2, class Functor > | |
ArrayND (const ArrayND< Num2, Len2, Dim2 > &from, const ArrayRange &fromRange, Functor f) | |
template<typename Num2 , unsigned Len2, unsigned Dim2> | |
ArrayND (const ArrayND< Num2, Len2, Dim2 > &slicedArray, const unsigned *indices, unsigned nIndices) | |
template<typename Num1 , unsigned Len1, unsigned Dim1, typename Num2 , unsigned Len2, unsigned Dim2> | |
ArrayND (const ArrayND< Num1, Len1, Dim1 > &a1, const ArrayND< Num2, Len2, Dim2 > &a2) | |
template<typename Num2 , unsigned Len2, unsigned Dim2, class Functor > | |
ArrayND & | assign (const ArrayND< Num2, Len2, Dim2 > &, Functor f) |
template<typename Num2 , unsigned Len2, unsigned Dim2, class Functor > | |
ArrayND< Numeric, Len, Dim > & | assign (const ArrayND< Num2, Len2, Dim2 > &r, Functor f) |
template<typename Num2 > | |
ArrayND | cdfArray (double scale=1.0) const |
template<typename Accumulator > | |
ArrayND< Numeric, Len, Dim > | cdfArray (const double inscale) const |
template<typename Num2 > | |
Num2 | cdfValue (const unsigned *index, unsigned indexLen) const |
template<typename Accumulator > | |
Accumulator | cdfValue (const unsigned *index, const unsigned indexLen) const |
template<typename Num2 , unsigned Len2, unsigned Dim2, class Functor > | |
void | circularFlatScan (ArrayND< Num2, Len2, Dim2 > &other, const unsigned *thisCorner, const unsigned *range, const unsigned *otherCorner, unsigned arrLen, Functor binaryFunct) |
ArrayND & | clear () |
ArrayND & | constFill (Numeric c) |
ArrayND | contract (unsigned pos1, unsigned pos2) const |
void | convertLinearIndex (unsigned long l, unsigned *index, unsigned indexLen) const |
template<typename Num2 > | |
void | convertToLastDimCdf (ArrayND *sumSlice, bool useTrapezoids) |
const Numeric * | data () const |
template<typename Num2 > | |
ArrayND | derivative (double scale=1.0) const |
template<typename Accumulator > | |
ArrayND< Numeric, Len, Dim > | derivative (const double inscale) const |
template<typename Num2 , unsigned Len2, unsigned Dim2> | |
ArrayND | dot (const ArrayND< Num2, Len2, Dim2 > &r) const |
template<typename Num2 , unsigned Len2, unsigned Dim2> | |
ArrayND< Numeric, Len, Dim > | dot (const ArrayND< Num2, Len2, Dim2 > &r) const |
template<typename Num2 , unsigned Len2, unsigned Dim2, class Functor > | |
void | dualCircularScan (ArrayND< Num2, Len2, Dim2 > &other, const unsigned *thisCorner, const unsigned *range, const unsigned *otherCorner, unsigned arrLen, Functor binaryFunct) |
template<typename Num2 > | |
void | exportMemSlice (Num2 *buffer, unsigned long bufLen, const unsigned *fixedIndices, const unsigned *fixedIndexValues, unsigned nFixedIndices) const |
template<typename Num2 , unsigned Len2, unsigned Dim2> | |
void | exportSlice (ArrayND< Num2, Len2, Dim2 > *slice, const unsigned *fixedIndices, const unsigned *fixedIndexValues, unsigned nFixedIndices) const |
template<typename Num2 , unsigned Len2, unsigned Dim2> | |
void | exportSubrange (const unsigned *fromCorner, unsigned lenCorner, ArrayND< Num2, Len2, Dim2 > *dest) const |
template<typename Num2 , unsigned Len2, unsigned Dim2, class Functor > | |
void | flatCircularScan (ArrayND< Num2, Len2, Dim2 > &other, const unsigned *thisCorner, const unsigned *range, const unsigned *otherCorner, unsigned arrLen, Functor binaryFunct) |
ArrayRange | fullRange () const |
template<class Functor > | |
ArrayND & | functorFill (Functor f) |
template<class Functor > | |
ArrayND< Numeric, Len, Dim > & | functorFill (Functor f) |
template<typename Num2 > | |
void | importMemSlice (const Num2 *buffer, unsigned long bufLen, const unsigned *fixedIndices, const unsigned *fixedIndexValues, unsigned nFixedIndices) |
template<typename Num2 , unsigned Len2, unsigned Dim2> | |
void | importSlice (const ArrayND< Num2, Len2, Dim2 > &slice, const unsigned *fixedIndices, const unsigned *fixedIndexValues, unsigned nFixedIndices) |
template<typename Num2 , unsigned Len2, unsigned Dim2> | |
void | importSubrange (const unsigned *fromCorner, unsigned lenCorner, const ArrayND< Num2, Len2, Dim2 > &from) |
template<typename Num2 , unsigned Len2, unsigned Dim2> | |
ArrayND & | inPlaceMul (const ArrayND< Num2, Len2, Dim2 > &r) |
Numeric | interpolate1 (const double *x, unsigned xDim) const |
Numeric | interpolate3 (const double *x, unsigned xDim) const |
template<typename Num2 , unsigned Len2, unsigned Dim2> | |
bool | isClose (const ArrayND< Num2, Len2, Dim2 > &r, double eps) const |
bool | isCompatible (const ArrayShape &shape) const |
bool | isDensity () const |
template<typename Num2 , unsigned Len2, unsigned Dim2> | |
bool | isShapeCompatible (const ArrayND< Num2, Len2, Dim2 > &r) const |
bool | isShapeKnown () const |
bool | isZero () const |
template<typename Num2 , class Functor > | |
void | jointMemSliceScan (Num2 *buffer, unsigned long bufLen, const unsigned *fixedIndices, const unsigned *fixedIndexValues, unsigned nFixedIndices, Functor binaryFunct) |
template<typename Num2 , unsigned Len2, unsigned Dim2, class Functor > | |
void | jointScan (ArrayND< Num2, Len2, Dim2 > &other, Functor binaryFunct) |
template<typename Num2 , class Op > | |
void | jointSliceLoop (const unsigned level, const unsigned long idx0, const unsigned level1, const unsigned long idx1, Num2 *sliceData, const unsigned long *sliceStrides, const unsigned *fixedIndices, const unsigned *fixedIndexValues, const unsigned nFixedIndices, Op fcn) |
template<typename Num2 , unsigned Len2, unsigned Dim2, class Functor > | |
void | jointSliceScan (ArrayND< Num2, Len2, Dim2 > &slice, const unsigned *fixedIndices, const unsigned *fixedIndexValues, unsigned nFixedIndices, Functor binaryFunct) |
template<typename Num2 , unsigned Len2, unsigned Dim2, class Functor > | |
void | jointSubrangeScan (ArrayND< Num2, Len2, Dim2 > &other, const unsigned *thisCorner, const unsigned *range, const unsigned *otherCorner, unsigned arrLen, Functor binaryFunct) |
unsigned long | length () const |
ArrayND & | linearFill (const double *coeff, unsigned coeffLen, double c) |
unsigned long | linearIndex (const unsigned *idx, unsigned idxLen) const |
unsigned | makeCopulaSteps (double tolerance, unsigned maxIterations) |
ArrayND & | makeNonNegative () |
ArrayND & | makeUnit () |
template<typename Num2 , unsigned Len2, unsigned Dim2> | |
ArrayND | marginalize (const ArrayND< Num2, Len2, Dim2 > &prior, const unsigned *indexMap, unsigned mapLen) const |
template<typename Num2 , unsigned Len2, unsigned Dim2> | |
ArrayND< Numeric, StackLen, StackDim > | marginalize (const ArrayND< Num2, Len2, Dim2 > &prior, const unsigned *indexMap, const unsigned mapLen) const |
Numeric | max () const |
Numeric | max (unsigned *index, unsigned indexLen) const |
template<unsigned Len2, unsigned Dim2> | |
double | maxAbsDifference (const ArrayND< Numeric, Len2, Dim2 > &) const |
unsigned | maximumSpan () const |
Numeric | min () const |
Numeric | min (unsigned *index, unsigned indexLen) const |
unsigned | minimumSpan () const |
template<typename Num2 , unsigned Len2, unsigned Dim2> | |
void | multiMirror (ArrayND< Num2, Len2, Dim2 > *out) const |
template<typename Num2 , unsigned Len2, unsigned Dim2> | |
ArrayND & | multiplyBySlice (const ArrayND< Num2, Len2, Dim2 > &slice, const unsigned *fixedIndices, unsigned nFixedIndices) |
template<unsigned Len2, unsigned Dim2> | |
bool | operator!= (const ArrayND< Numeric, Len2, Dim2 > &) const |
template<typename Num2 > | |
ArrayND | operator* (const Num2 &r) const |
template<typename Num2 > | |
ArrayND< Numeric, Len, Dim > | operator* (const Num2 &r) const |
template<typename Num2 > | |
ArrayND< Numeric, Len, Dim > & | operator*= (const Num2 &r) |
ArrayND | operator+ () const |
template<unsigned Len2, unsigned Dim2> | |
ArrayND | operator+ (const ArrayND< Numeric, Len2, Dim2 > &r) const |
template<unsigned Len2, unsigned Dim2> | |
ArrayND< Numeric, Len, Dim > | operator+ (const ArrayND< Numeric, Len2, Dim2 > &r) const |
template<typename Num2 , unsigned Len2, unsigned Dim2> | |
ArrayND< Numeric, Len, Dim > & | operator+= (const ArrayND< Num2, Len2, Dim2 > &r) |
ArrayND | operator- () const |
template<unsigned Len2, unsigned Dim2> | |
ArrayND | operator- (const ArrayND< Numeric, Len2, Dim2 > &r) const |
template<unsigned Len2, unsigned Dim2> | |
ArrayND< Numeric, Len, Dim > | operator- (const ArrayND< Numeric, Len2, Dim2 > &r) const |
template<typename Num2 , unsigned Len2, unsigned Dim2> | |
ArrayND< Numeric, Len, Dim > & | operator-= (const ArrayND< Num2, Len2, Dim2 > &r) |
template<typename Num2 > | |
ArrayND | operator/ (const Num2 &r) const |
template<typename Num2 > | |
ArrayND< Numeric, Len, Dim > | operator/ (const Num2 &r) const |
template<typename Num2 > | |
ArrayND< Numeric, Len, Dim > & | operator/= (const Num2 &r) |
ArrayND & | operator= (const ArrayND &) |
template<typename Num2 , unsigned Len2, unsigned Dim2> | |
ArrayND & | operator= (const ArrayND< Num2, Len2, Dim2 > &) |
template<typename Num2 , unsigned Len2, unsigned Dim2> | |
ArrayND< Numeric, Len, Dim > & | operator= (const ArrayND< Num2, Len2, Dim2 > &r) |
template<unsigned Len2, unsigned Dim2> | |
bool | operator== (const ArrayND< Numeric, Len2, Dim2 > &) const |
template<typename Num2 , unsigned Len2, unsigned Dim2> | |
ArrayND | outer (const ArrayND< Num2, Len2, Dim2 > &r) const |
template<typename Num2 , unsigned Len2, unsigned Dim2> | |
ArrayND< Numeric, Len, Dim > | outer (const ArrayND< Num2, Len2, Dim2 > &r) const |
template<typename Num2 , typename Integer > | |
void | processSubrange (AbsArrayProjector< Numeric, Num2 > &f, const BoxND< Integer > &subrange) const |
unsigned | rank () const |
template<typename Num2 , unsigned Len2, unsigned Dim2> | |
void | rotate (const unsigned *shifts, unsigned lenShifts, ArrayND< Num2, Len2, Dim2 > *rotated) const |
template<class Functor > | |
ArrayND & | scanInPlace (Functor f) |
template<class Functor > | |
ArrayND< Numeric, Len, Dim > & | scanInPlace (Functor f) |
template<typename Num2 > | |
ArrayND & | setData (const Num2 *data, unsigned long dataLength) |
template<typename Num2 > | |
ArrayND< Numeric, Len, Dim > & | setData (const Num2 *data, const unsigned long dataLength) |
ArrayShape | shape () const |
const unsigned * | shapeData () const |
ArrayShape | sliceShape (const unsigned *fixedIndices, unsigned nFixedIndices) const |
unsigned | span (unsigned dim) const |
const unsigned long * | strides () const |
template<typename Num2 > | |
Num2 | sum () const |
template<typename Num2 > | |
Num2 | sumsq () const |
ArrayND | transpose (unsigned pos1, unsigned pos2) const |
ArrayND | transpose () const |
ArrayND & | uninitialize () |
~ArrayND () | |
ArrayND (const ArrayShape &shape) | |
ArrayND (const unsigned *shape, unsigned dim) | |
ArrayND (unsigned n0) | |
ArrayND (unsigned n0, unsigned n1) | |
ArrayND (unsigned n0, unsigned n1, unsigned n2) | |
ArrayND (unsigned n0, unsigned n1, unsigned n2, unsigned n3) | |
ArrayND (unsigned n0, unsigned n1, unsigned n2, unsigned n3, unsigned n4) | |
ArrayND (unsigned n0, unsigned n1, unsigned n2, unsigned n3, unsigned n4, unsigned n5) | |
ArrayND (unsigned n0, unsigned n1, unsigned n2, unsigned n3, unsigned n4, unsigned n5, unsigned n6) | |
ArrayND (unsigned n0, unsigned n1, unsigned n2, unsigned n3, unsigned n4, unsigned n5, unsigned n6, unsigned n7) | |
ArrayND (unsigned n0, unsigned n1, unsigned n2, unsigned n3, unsigned n4, unsigned n5, unsigned n6, unsigned n7, unsigned n8) | |
ArrayND (unsigned n0, unsigned n1, unsigned n2, unsigned n3, unsigned n4, unsigned n5, unsigned n6, unsigned n7, unsigned n8, unsigned n9) | |
Numeric & | value (const unsigned *index, unsigned indexLen) |
const Numeric & | value (const unsigned *index, unsigned indexLen) const |
Numeric & | valueAt (const unsigned *index, unsigned indexLen) |
const Numeric & | valueAt (const unsigned *index, unsigned indexLen) const |
Numeric & | linearValue (unsigned long index) |
const Numeric & | linearValue (unsigned long index) const |
Numeric & | linearValueAt (unsigned long index) |
const Numeric & | linearValueAt (unsigned long index) const |
template<typename Num2 > | |
ArrayND & | operator*= (const Num2 &r) |
template<typename Num2 > | |
ArrayND & | operator/= (const Num2 &r) |
template<typename Num2 , unsigned Len2, unsigned Dim2> | |
ArrayND & | operator+= (const ArrayND< Num2, Len2, Dim2 > &r) |
template<typename Num2 , unsigned Len2, unsigned Dim2> | |
ArrayND & | operator-= (const ArrayND< Num2, Len2, Dim2 > &r) |
Numeric & | closest (const double *x, unsigned xDim) |
const Numeric & | closest (const double *x, unsigned xDim) const |
template<typename Num2 , unsigned Len2, unsigned Dim2, typename Num3 > | |
void | project (ArrayND< Num2, Len2, Dim2 > *projection, AbsArrayProjector< Numeric, Num3 > &projector, const unsigned *projectedIndices, unsigned nProjectedIndices) const |
template<typename Num2 , unsigned Len2, unsigned Dim2, typename Num3 > | |
void | project (ArrayND< Num2, Len2, Dim2 > *projection, AbsVisitor< Numeric, Num3 > &projector, const unsigned *projectedIndices, unsigned nProjectedIndices) const |
template<typename Num2 , unsigned Len2, unsigned Dim2, typename Num3 > | |
void | addToProjection (ArrayND< Num2, Len2, Dim2 > *projection, AbsArrayProjector< Numeric, Num3 > &projector, const unsigned *projectedIndices, unsigned nProjectedIndices) const |
template<typename Num2 , unsigned Len2, unsigned Dim2, typename Num3 > | |
void | subtractFromProjection (ArrayND< Num2, Len2, Dim2 > *projection, AbsArrayProjector< Numeric, Num3 > &projector, const unsigned *projectedIndices, unsigned nProjectedIndices) const |
template<typename Num2 , unsigned Len2, unsigned Dim2, typename Num3 > | |
void | addToProjection (ArrayND< Num2, Len2, Dim2 > *projection, AbsVisitor< Numeric, Num3 > &projector, const unsigned *projectedIndices, unsigned nProjectedIndices) const |
template<typename Num2 , unsigned Len2, unsigned Dim2, typename Num3 > | |
void | subtractFromProjection (ArrayND< Num2, Len2, Dim2 > *projection, AbsVisitor< Numeric, Num3 > &projector, const unsigned *projectedIndices, unsigned nProjectedIndices) const |
Numeric & | operator() () |
const Numeric & | operator() () const |
Numeric & | operator() (unsigned i0) |
const Numeric & | operator() (unsigned i0) const |
Numeric & | operator() (unsigned i0, unsigned i1) |
const Numeric & | operator() (unsigned i0, unsigned i1) const |
Numeric & | operator() (unsigned i0, unsigned i1, unsigned i2) |
const Numeric & | operator() (unsigned i0, unsigned i1, unsigned i2) const |
Numeric & | operator() (unsigned i0, unsigned i1, unsigned i2, unsigned i3) |
const Numeric & | operator() (unsigned i0, unsigned i1, unsigned i2, unsigned i3) const |
Numeric & | operator() (unsigned i0, unsigned i1, unsigned i2, unsigned i3, unsigned i4) |
const Numeric & | operator() (unsigned i0, unsigned i1, unsigned i2, unsigned i3, unsigned i4) const |
Numeric & | operator() (unsigned i0, unsigned i1, unsigned i2, unsigned i3, unsigned i4, unsigned i5) |
const Numeric & | operator() (unsigned i0, unsigned i1, unsigned i2, unsigned i3, unsigned i4, unsigned i5) const |
Numeric & | operator() (unsigned i0, unsigned i1, unsigned i2, unsigned i3, unsigned i4, unsigned i5, unsigned i6) |
const Numeric & | operator() (unsigned i0, unsigned i1, unsigned i2, unsigned i3, unsigned i4, unsigned i5, unsigned i6) const |
Numeric & | operator() (unsigned i0, unsigned i1, unsigned i2, unsigned i3, unsigned i4, unsigned i5, unsigned i6, unsigned i7) |
const Numeric & | operator() (unsigned i0, unsigned i1, unsigned i2, unsigned i3, unsigned i4, unsigned i5, unsigned i6, unsigned i7) const |
Numeric & | operator() (unsigned i0, unsigned i1, unsigned i2, unsigned i3, unsigned i4, unsigned i5, unsigned i6, unsigned i7, unsigned i8) |
const Numeric & | operator() (unsigned i0, unsigned i1, unsigned i2, unsigned i3, unsigned i4, unsigned i5, unsigned i6, unsigned i7, unsigned i8) const |
Numeric & | operator() (unsigned i0, unsigned i1, unsigned i2, unsigned i3, unsigned i4, unsigned i5, unsigned i6, unsigned i7, unsigned i8, unsigned i9) |
const Numeric & | operator() (unsigned i0, unsigned i1, unsigned i2, unsigned i3, unsigned i4, unsigned i5, unsigned i6, unsigned i7, unsigned i8, unsigned i9) const |
Numeric & | at () |
const Numeric & | at () const |
Numeric & | at (unsigned i0) |
const Numeric & | at (unsigned i0) const |
Numeric & | at (unsigned i0, unsigned i1) |
const Numeric & | at (unsigned i0, unsigned i1) const |
Numeric & | at (unsigned i0, unsigned i1, unsigned i2) |
const Numeric & | at (unsigned i0, unsigned i1, unsigned i2) const |
Numeric & | at (unsigned i0, unsigned i1, unsigned i2, unsigned i3) |
const Numeric & | at (unsigned i0, unsigned i1, unsigned i2, unsigned i3) const |
Numeric & | at (unsigned i0, unsigned i1, unsigned i2, unsigned i3, unsigned i4) |
const Numeric & | at (unsigned i0, unsigned i1, unsigned i2, unsigned i3, unsigned i4) const |
Numeric & | at (unsigned i0, unsigned i1, unsigned i2, unsigned i3, unsigned i4, unsigned i5) |
const Numeric & | at (unsigned i0, unsigned i1, unsigned i2, unsigned i3, unsigned i4, unsigned i5) const |
Numeric & | at (unsigned i0, unsigned i1, unsigned i2, unsigned i3, unsigned i4, unsigned i5, unsigned i6) |
const Numeric & | at (unsigned i0, unsigned i1, unsigned i2, unsigned i3, unsigned i4, unsigned i5, unsigned i6) const |
Numeric & | at (unsigned i0, unsigned i1, unsigned i2, unsigned i3, unsigned i4, unsigned i5, unsigned i6, unsigned i7) |
const Numeric & | at (unsigned i0, unsigned i1, unsigned i2, unsigned i3, unsigned i4, unsigned i5, unsigned i6, unsigned i7) const |
Numeric & | at (unsigned i0, unsigned i1, unsigned i2, unsigned i3, unsigned i4, unsigned i5, unsigned i6, unsigned i7, unsigned i8) |
const Numeric & | at (unsigned i0, unsigned i1, unsigned i2, unsigned i3, unsigned i4, unsigned i5, unsigned i6, unsigned i7, unsigned i8) const |
Numeric & | at (unsigned i0, unsigned i1, unsigned i2, unsigned i3, unsigned i4, unsigned i5, unsigned i6, unsigned i7, unsigned i8, unsigned i9) |
const Numeric & | at (unsigned i0, unsigned i1, unsigned i2, unsigned i3, unsigned i4, unsigned i5, unsigned i6, unsigned i7, unsigned i8, unsigned i9) const |
Numeric & | cl () |
const Numeric & | cl () const |
Numeric & | cl (double x0) |
const Numeric & | cl (double x0) const |
Numeric & | cl (double x0, double x1) |
const Numeric & | cl (double x0, double x1) const |
Numeric & | cl (double x0, double x1, double x2) |
const Numeric & | cl (double x0, double x1, double x2) const |
Numeric & | cl (double x0, double x1, double x2, double x3) |
const Numeric & | cl (double x0, double x1, double x2, double x3) const |
Numeric & | cl (double x0, double x1, double x2, double x3, double x4) |
const Numeric & | cl (double x0, double x1, double x2, double x3, double x4) const |
Numeric & | cl (double x0, double x1, double x2, double x3, double x4, double x5) |
const Numeric & | cl (double x0, double x1, double x2, double x3, double x4, double x5) const |
Numeric & | cl (double x0, double x1, double x2, double x3, double x4, double x5, double x6) |
const Numeric & | cl (double x0, double x1, double x2, double x3, double x4, double x5, double x6) const |
Numeric & | cl (double x0, double x1, double x2, double x3, double x4, double x5, double x6, double x7) |
const Numeric & | cl (double x0, double x1, double x2, double x3, double x4, double x5, double x6, double x7) const |
Numeric & | cl (double x0, double x1, double x2, double x3, double x4, double x5, double x6, double x7, double x8) |
const Numeric & | cl (double x0, double x1, double x2, double x3, double x4, double x5, double x6, double x7, double x8) const |
Numeric & | cl (double x0, double x1, double x2, double x3, double x4, double x5, double x6, double x7, double x8, double x9) |
const Numeric & | cl (double x0, double x1, double x2, double x3, double x4, double x5, double x6, double x7, double x8, double x9) const |
gs::ClassId | classId () const |
bool | write (std::ostream &of) const |
Static Public Member Functions | |
static const char * | classname () |
static void | restore (const gs::ClassId &id, std::istream &in, ArrayND *array) |
static unsigned | version () |
Private Member Functions | |
void | buildFromShapePtr (const unsigned *, unsigned) |
void | buildStrides () |
template<typename Num2 , unsigned Len2, unsigned Dim2, class Functor > | |
void | circularFlatLoop (unsigned level, unsigned long idx0, unsigned long idx1, const unsigned *thisCorner, const unsigned *range, const unsigned *otherCorner, ArrayND< Num2, Len2, Dim2 > &other, Functor binaryFunct) |
template<typename Num2 , unsigned Len2, unsigned Dim2, class Functor > | |
void | commonSubrangeLoop (unsigned level, unsigned long idx0, unsigned long idx1, const unsigned *thisCorner, const unsigned *range, const unsigned *otherCorner, ArrayND< Num2, Len2, Dim2 > &other, Functor binaryFunct) |
void | contractLoop (unsigned thisLevel, unsigned resLevel, unsigned pos1, unsigned pos2, unsigned long idxThis, unsigned long idxRes, ArrayND &result) const |
template<typename Accumulator > | |
void | convertToLastDimCdfLoop (ArrayND *sumSlice, unsigned level, unsigned long idx0, unsigned long idxSlice, bool useTrapezoids) |
unsigned | coordToIndex (double coord, unsigned idim) const |
template<typename Num2 , unsigned Len2, unsigned Dim2, class Functor > | |
void | copyRangeLoopFunct (unsigned level, unsigned long idx0, unsigned long idx1, const ArrayND< Num2, Len2, Dim2 > &r, const ArrayRange &range, Functor f) |
template<typename Num2 , unsigned Len2, unsigned Dim2> | |
void | dotProductLoop (unsigned level, unsigned long idx0, unsigned long idx1, unsigned long idx2, const ArrayND< Num2, Len2, Dim2 > &r, ArrayND &result) const |
template<typename Num2 , unsigned Len2, unsigned Dim2, class Functor > | |
void | dualCircularLoop (unsigned level, unsigned long idx0, unsigned long idx1, const unsigned *thisCorner, const unsigned *range, const unsigned *otherCorner, ArrayND< Num2, Len2, Dim2 > &other, Functor binaryFunct) |
template<typename Num2 , unsigned Len2, unsigned Dim2, class Functor > | |
void | flatCircularLoop (unsigned level, unsigned long idx0, unsigned long idx1, const unsigned *thisCorner, const unsigned *range, const unsigned *otherCorner, ArrayND< Num2, Len2, Dim2 > &other, Functor binaryFunct) |
template<class Functor > | |
void | functorFillLoop (unsigned level, unsigned long idx, Functor f, unsigned *farg) |
Numeric | interpolateLoop (unsigned level, const double *x, const Numeric *base) const |
template<typename Num2 , class Functor > | |
void | jointSliceLoop (unsigned level, unsigned long idx0, unsigned level1, unsigned long idx1, Num2 *sliceData, const unsigned long *sliceStrides, const unsigned *fixedIndices, const unsigned *fixedIndexValues, unsigned nFixedIndices, Functor binaryFunctor) |
void | linearFillLoop (unsigned level, double s0, unsigned long idx, double shift, const double *coeffs) |
template<typename Num2 , unsigned Len2, unsigned Dim2> | |
Numeric | marginalizeInnerLoop (unsigned long idx, unsigned levelPr, unsigned long idxPr, const ArrayND< Num2, Len2, Dim2 > &prior, const unsigned *indexMap) const |
template<typename Num2 , unsigned Len2, unsigned Dim2> | |
void | marginalizeLoop (unsigned level, unsigned long idx, unsigned levelRes, unsigned long idxRes, const ArrayND< Num2, Len2, Dim2 > &prior, const unsigned *indexMap, ArrayND &res) const |
template<typename Num1 , unsigned Len1, unsigned Dim1, typename Num2 , unsigned Len2, unsigned Dim2> | |
void | outerProductLoop (unsigned level, unsigned long idx0, unsigned long idx1, unsigned long idx2, const ArrayND< Num1, Len1, Dim1 > &a1, const ArrayND< Num2, Len2, Dim2 > &a2) |
template<typename Num2 , typename Integer > | |
void | processSubrangeLoop (unsigned level, unsigned long idx0, unsigned *currentIndex, AbsArrayProjector< Numeric, Num2 > &f, const BoxND< Integer > &subrange) const |
template<typename Num2 > | |
void | projectInnerLoop (unsigned level, unsigned long idx0, unsigned *currentIndex, AbsArrayProjector< Numeric, Num2 > &projector, const unsigned *projectedIndices, unsigned nProjectedIndices) const |
template<typename Num2 > | |
void | projectInnerLoop2 (unsigned level, unsigned long idx0, AbsVisitor< Numeric, Num2 > &projector, const unsigned *projectedIndices, unsigned nProjectedIndices) const |
template<typename Num2 , unsigned Len2, unsigned Dim2, typename Num3 , class Op > | |
void | projectLoop (unsigned level, unsigned long idx0, unsigned level1, unsigned long idx1, unsigned *currentIndex, ArrayND< Num2, Len2, Dim2 > *projection, AbsArrayProjector< Numeric, Num3 > &projector, const unsigned *projectedIndices, unsigned nProjectedIndices, Op fcn) const |
template<typename Num2 , unsigned Len2, unsigned Dim2, typename Num3 , class Op > | |
void | projectLoop2 (unsigned level, unsigned long idx0, unsigned level1, unsigned long idx1, ArrayND< Num2, Len2, Dim2 > *projection, AbsVisitor< Numeric, Num3 > &projector, const unsigned *projectedIndices, unsigned nProjectedIndices, Op fcn) const |
template<typename Num2 , class Functor > | |
void | scaleBySliceInnerLoop (unsigned level, unsigned long idx0, Num2 &scale, const unsigned *projectedIndices, unsigned nProjectedIndices, Functor binaryFunct) |
template<typename Num2 , unsigned Len2, unsigned Dim2, class Functor > | |
void | scaleBySliceLoop (unsigned level, unsigned long idx0, unsigned level1, unsigned long idx1, ArrayND< Num2, Len2, Dim2 > &slice, const unsigned *fixedIndices, unsigned nFixedIndices, Functor binaryFunct) |
template<typename Accumulator > | |
Accumulator | sumBelowLoop (unsigned level, unsigned long idx0, const unsigned *limit) const |
void | transposeLoop (unsigned level, unsigned pos1, unsigned pos2, unsigned long idxThis, unsigned long idxRes, ArrayND &result) const |
unsigned long | verifyBufferSliceCompatibility (unsigned long bufLen, const unsigned *fixedIndices, const unsigned *fixedIndexValues, unsigned nFixedIndices, unsigned long *sliceStrides) const |
template<typename Num2 , unsigned Len2, unsigned Dim2> | |
void | verifyProjectionCompatibility (const ArrayND< Num2, Len2, Dim2 > &projection, const unsigned *projectedIndices, unsigned nProjectedIndices) const |
template<typename Num2 , unsigned Len2, unsigned Dim2> | |
unsigned long | verifySliceCompatibility (const ArrayND< Num2, Len2, Dim2 > &slice, const unsigned *fixedIndices, const unsigned *fixedIndexValues, unsigned nFixedIndices) const |
Private Attributes | |
Numeric * | data_ |
unsigned | dim_ |
unsigned long | len_ |
Numeric | localData_ [StackLen] |
unsigned | localShape_ [StackDim] |
unsigned long | localStrides_ [StackDim] |
unsigned * | shape_ |
bool | shapeIsKnown_ |
unsigned long * | strides_ |
Friends | |
template<typename Num2 , unsigned Len2, unsigned Dim2> | |
class | ArrayND |
A class for multidimensional array manipulation. A number of methods of this class will work only if dimensionality is limited by CHAR_BIT*sizeof(unsigned long)-1 (which is 31 and 63 on 32- and 64-bit architectures, respectively).
Depending on how much space is provided with the "StackLen" template parameter, the array data will be placed either on the stack or on the heap. By default, array data leaves on the heap unless the array has rank 0.
Depending on how much space is provided with the "StackDim" template parameter, the array strides will be placed either on the stack or on the heap. By default, strides will be placed on the stack in case the array dimensionality is ten or less.
The "Numeric" type must have a default constructor (of course, pointers to arbitrary types can be used as well).
Both StackLen and StackDim parameters must be positive.
typedef ProperDblFromCmpl<Numeric>::type npstat::ArrayND< Numeric, StackLen, StackDim >::proper_double |
typedef Numeric npstat::ArrayND< Numeric, StackLen, StackDim >::value_type |
|
inline |
Default constructor creates an uninitialized array. Only three things can be done safely with such an array:
1) Assigning it from another array (initialized or not).
2) Passing it as an argument to the class static method "restore".
3) Calling the "uninitialize" method.
Any other operation results in an undefined behavior (often, an exception is thrown). Note that initialized array can not be assigned from uninitialized one.
Definition at line 2570 of file ArrayND.h.
References npstat::ArrayND< Numeric, StackLen, StackDim >::data_, and npstat::ArrayND< Numeric, StackLen, StackDim >::localData_.
Referenced by npstat::ArrayND< Numeric, StackLen, StackDim >::ArrayND().
|
explicit |
Constructor which creates arrays with the given shape. The array data remains undefined. Simple inilitalization of the data can be performed using methods clear() or constFill(SomeValue). More complicated initialization can be done by "linearFill", "functorFill", or by setting every array element to a desired value.
Definition at line 2784 of file ArrayND.h.
References npstat::ArrayND< Numeric, StackLen, StackDim >::buildFromShapePtr().
npstat::ArrayND< Numeric, Len, Dim >::ArrayND | ( | const unsigned * | shape, |
unsigned | dim | ||
) |
Definition at line 2792 of file ArrayND.h.
References npstat::ArrayND< Numeric, StackLen, StackDim >::buildFromShapePtr().
npstat::ArrayND< Numeric, Len, Dim >::ArrayND | ( | const ArrayND< Numeric, StackLen, StackDim > & | r | ) |
The copy constructor
Definition at line 2579 of file ArrayND.h.
References assert(), npstat::copyBuffer(), npstat::ArrayND< Numeric, StackLen, StackDim >::data_, npstat::ArrayND< Numeric, StackLen, StackDim >::dim_, npstat::ArrayND< Numeric, StackLen, StackDim >::len_, npstat::ArrayND< Numeric, StackLen, StackDim >::localData_, npstat::ArrayND< Numeric, StackLen, StackDim >::localShape_, npstat::ArrayND< Numeric, StackLen, StackDim >::localStrides_, npstat::makeBuffer(), npstat::ArrayND< Numeric, StackLen, StackDim >::shape_, and npstat::ArrayND< Numeric, StackLen, StackDim >::strides_.
npstat::ArrayND< Numeric, Len, Dim >::ArrayND | ( | const ArrayND< Num2, Len2, Dim2 > & | r | ) |
Converting constructor. It looks more general than the copy constructor, but the actual copy constructor has to be created anyway – otherwise the compiler will generate an incorrect default copy constructor. Note that existence of this constructor essentially disables data type safety for copying arrays – but the code significantly gains in convenience.
Definition at line 2607 of file ArrayND.h.
References assert(), npstat::copyBuffer(), npstat::ArrayND< Numeric, StackLen, StackDim >::data_, npstat::ArrayND< Numeric, StackLen, StackDim >::dim_, npstat::ArrayND< Numeric, StackLen, StackDim >::len_, npstat::ArrayND< Numeric, StackLen, StackDim >::localData_, npstat::ArrayND< Numeric, StackLen, StackDim >::localShape_, npstat::ArrayND< Numeric, StackLen, StackDim >::localStrides_, npstat::makeBuffer(), npstat::ArrayND< Numeric, StackLen, StackDim >::shape_, and npstat::ArrayND< Numeric, StackLen, StackDim >::strides_.
npstat::ArrayND< Numeric, Len, Dim >::ArrayND | ( | const ArrayND< Num2, Len2, Dim2 > & | r, |
Functor | f | ||
) |
Converting constructor where the array values are filled by a functor using values of another array as arguments
Definition at line 2635 of file ArrayND.h.
References assert(), npstat::copyBuffer(), npstat::ArrayND< Numeric, StackLen, StackDim >::data_, npstat::ArrayND< Numeric, StackLen, StackDim >::dim_, f, i, npstat::ArrayND< Numeric, StackLen, StackDim >::len_, npstat::ArrayND< Numeric, StackLen, StackDim >::localData_, npstat::ArrayND< Numeric, StackLen, StackDim >::localShape_, npstat::ArrayND< Numeric, StackLen, StackDim >::localStrides_, npstat::makeBuffer(), npstat::ArrayND< Numeric, StackLen, StackDim >::shape_, and npstat::ArrayND< Numeric, StackLen, StackDim >::strides_.
npstat::ArrayND< Numeric, Len, Dim >::ArrayND | ( | const ArrayND< Num2, Len2, Dim2 > & | from, |
const ArrayRange & | fromRange | ||
) |
Constructor from a subrange of another array
Definition at line 2695 of file ArrayND.h.
References assert(), npstat::ArrayND< Numeric, StackLen, StackDim >::buildStrides(), npstat::clearBuffer(), npstat::ArrayND< Numeric, StackLen, StackDim >::data_, npstat::ArrayND< Numeric, StackLen, StackDim >::dim_, npstat::ArrayRange::isCompatible(), npstat::ArrayND< Numeric, StackLen, StackDim >::len_, npstat::ArrayND< Numeric, StackLen, StackDim >::localData_, npstat::ArrayND< Numeric, StackLen, StackDim >::localShape_, npstat::ArrayRange::lowerLimits(), npstat::makeBuffer(), alignCSCRings::r, npstat::ArrayRange::rangeLength(), npstat::ArrayRange::rangeSize(), and npstat::ArrayND< Numeric, StackLen, StackDim >::shape_.
npstat::ArrayND< Numeric, Len, Dim >::ArrayND | ( | const ArrayND< Num2, Len2, Dim2 > & | from, |
const ArrayRange & | fromRange, | ||
Functor | f | ||
) |
Similar constructor with a transforming functor
Definition at line 2743 of file ArrayND.h.
References assert(), npstat::ArrayND< Numeric, StackLen, StackDim >::buildStrides(), npstat::ArrayND< Numeric, StackLen, StackDim >::copyRangeLoopFunct(), npstat::ArrayND< Numeric, StackLen, StackDim >::data_, npstat::ArrayND< Numeric, StackLen, StackDim >::dim_, f, i, npstat::ArrayRange::isCompatible(), npstat::ArrayND< Numeric, StackLen, StackDim >::len_, npstat::ArrayND< Numeric, StackLen, StackDim >::length(), npstat::ArrayND< Numeric, StackLen, StackDim >::localData_, npstat::ArrayND< Numeric, StackLen, StackDim >::localShape_, npstat::makeBuffer(), npstat::ArrayRange::rangeSize(), and npstat::ArrayND< Numeric, StackLen, StackDim >::shape_.
npstat::ArrayND< Numeric, StackLen, StackDim >::ArrayND | ( | const ArrayND< Num2, Len2, Dim2 > & | slicedArray, |
const unsigned * | indices, | ||
unsigned | nIndices | ||
) |
Constructor from a slice of another array. The data of the constructed array remains undefined. The argument "indices" lists either the array indices whose numbers will be fixed when slicing is performed or the indices which will be iterated over during projections (for example, array values may be summed over these indices). These indices will be excluded from the constructed array. The created array can be subsequently used with methods "exportSlice", "importSlice", "project", etc. of the parent array "slicedArray".
Definition at line 1686 of file ArrayND.h.
References npstat::ArrayND< Numeric, StackLen, StackDim >::ArrayND(), assert(), npstat::ArrayND< Numeric, StackLen, StackDim >::buildStrides(), npstat::ArrayND< Numeric, StackLen, StackDim >::data_, npstat::ArrayND< Numeric, StackLen, StackDim >::dim_, i, j, npstat::ArrayND< Numeric, StackLen, StackDim >::len_, npstat::ArrayND< Numeric, StackLen, StackDim >::localData_, npstat::ArrayND< Numeric, StackLen, StackDim >::localShape_, npstat::makeBuffer(), npstat::ArrayND< Numeric, StackLen, StackDim >::shape_, and npstat::ArrayND< Numeric, StackLen, StackDim >::shapeIsKnown_.
npstat::ArrayND< Numeric, Len, Dim >::ArrayND | ( | const ArrayND< Num1, Len1, Dim1 > & | a1, |
const ArrayND< Num2, Len2, Dim2 > & | a2 | ||
) |
Outer product constructor
Definition at line 3021 of file ArrayND.h.
References assert(), npstat::ArrayND< Numeric, StackLen, StackDim >::buildStrides(), npstat::copyBuffer(), npstat::ArrayND< Numeric, StackLen, StackDim >::data_, npstat::ArrayND< Numeric, StackLen, StackDim >::dim_, i, npstat::ArrayND< Numeric, StackLen, StackDim >::len_, npstat::ArrayND< Numeric, StackLen, StackDim >::localData_, npstat::ArrayND< Numeric, StackLen, StackDim >::localShape_, npstat::makeBuffer(), npstat::ArrayND< Numeric, StackLen, StackDim >::outerProductLoop(), npstat::ArrayND< Numeric, StackLen, StackDim >::shape_, and npstat::ArrayND< Numeric, StackLen, StackDim >::shapeIsKnown_.
|
explicit |
Constructor in which the spans are explicitly provided for each dimension. The array data remains undefined.
Definition at line 2800 of file ArrayND.h.
References npstat::ArrayND< Numeric, StackLen, StackDim >::buildFromShapePtr(), and n0.
npstat::ArrayND< Numeric, Len, Dim >::ArrayND | ( | unsigned | n0, |
unsigned | n1 | ||
) |
Definition at line 2810 of file ArrayND.h.
References npstat::ArrayND< Numeric, StackLen, StackDim >::buildFromShapePtr(), and n0.
npstat::ArrayND< Numeric, Len, Dim >::ArrayND | ( | unsigned | n0, |
unsigned | n1, | ||
unsigned | n2 | ||
) |
Definition at line 2822 of file ArrayND.h.
References npstat::ArrayND< Numeric, StackLen, StackDim >::buildFromShapePtr(), and n0.
npstat::ArrayND< Numeric, Len, Dim >::ArrayND | ( | unsigned | n0, |
unsigned | n1, | ||
unsigned | n2, | ||
unsigned | n3 | ||
) |
Definition at line 2836 of file ArrayND.h.
References npstat::ArrayND< Numeric, StackLen, StackDim >::buildFromShapePtr(), and n0.
npstat::ArrayND< Numeric, Len, Dim >::ArrayND | ( | unsigned | n0, |
unsigned | n1, | ||
unsigned | n2, | ||
unsigned | n3, | ||
unsigned | n4 | ||
) |
Definition at line 2852 of file ArrayND.h.
References npstat::ArrayND< Numeric, StackLen, StackDim >::buildFromShapePtr(), and n0.
npstat::ArrayND< Numeric, Len, Dim >::ArrayND | ( | unsigned | n0, |
unsigned | n1, | ||
unsigned | n2, | ||
unsigned | n3, | ||
unsigned | n4, | ||
unsigned | n5 | ||
) |
Definition at line 2870 of file ArrayND.h.
References npstat::ArrayND< Numeric, StackLen, StackDim >::buildFromShapePtr(), and n0.
npstat::ArrayND< Numeric, Len, Dim >::ArrayND | ( | unsigned | n0, |
unsigned | n1, | ||
unsigned | n2, | ||
unsigned | n3, | ||
unsigned | n4, | ||
unsigned | n5, | ||
unsigned | n6 | ||
) |
Definition at line 2890 of file ArrayND.h.
References npstat::ArrayND< Numeric, StackLen, StackDim >::buildFromShapePtr(), and n0.
npstat::ArrayND< Numeric, Len, Dim >::ArrayND | ( | unsigned | n0, |
unsigned | n1, | ||
unsigned | n2, | ||
unsigned | n3, | ||
unsigned | n4, | ||
unsigned | n5, | ||
unsigned | n6, | ||
unsigned | n7 | ||
) |
Definition at line 2912 of file ArrayND.h.
References npstat::ArrayND< Numeric, StackLen, StackDim >::buildFromShapePtr(), and n0.
npstat::ArrayND< Numeric, Len, Dim >::ArrayND | ( | unsigned | n0, |
unsigned | n1, | ||
unsigned | n2, | ||
unsigned | n3, | ||
unsigned | n4, | ||
unsigned | n5, | ||
unsigned | n6, | ||
unsigned | n7, | ||
unsigned | n8 | ||
) |
Definition at line 2936 of file ArrayND.h.
References npstat::ArrayND< Numeric, StackLen, StackDim >::buildFromShapePtr(), and n0.
npstat::ArrayND< Numeric, Len, Dim >::ArrayND | ( | unsigned | n0, |
unsigned | n1, | ||
unsigned | n2, | ||
unsigned | n3, | ||
unsigned | n4, | ||
unsigned | n5, | ||
unsigned | n6, | ||
unsigned | n7, | ||
unsigned | n8, | ||
unsigned | n9 | ||
) |
Definition at line 2962 of file ArrayND.h.
References npstat::ArrayND< Numeric, StackLen, StackDim >::buildFromShapePtr(), and n0.
|
inline |
Destructor
Definition at line 3070 of file ArrayND.h.
References npstat::destroyBuffer().
ArrayND& npstat::ArrayND< Numeric, StackLen, StackDim >::addmul | ( | const ArrayND< Num2, Len2, Dim2 > & | r, |
const Num3 & | c | ||
) |
This method is equivalent to (but faster than) += r*c
ArrayND<Numeric,Len,Dim>& npstat::ArrayND< Numeric, StackLen, StackDim >::addmul | ( | const ArrayND< Num2, Len2, Dim2 > & | r, |
const Num3 & | c | ||
) |
Definition at line 4585 of file ArrayND.h.
References npstat::ArrayND< Numeric, StackLen, StackDim >::data_, and i.
void npstat::ArrayND< Numeric, StackLen, StackDim >::addToProjection | ( | ArrayND< Num2, Len2, Dim2 > * | projection, |
AbsArrayProjector< Numeric, Num3 > & | projector, | ||
const unsigned * | projectedIndices, | ||
unsigned | nProjectedIndices | ||
) | const |
Similar method to "project", but projections are added to (or subtracted from) the existing projection data instead of replacing them
Definition at line 2169 of file ArrayND.h.
References assert(), npstat::destroyBuffer(), i, and npstat::makeBuffer().
void npstat::ArrayND< Numeric, StackLen, StackDim >::addToProjection | ( | ArrayND< Num2, Len2, Dim2 > * | projection, |
AbsVisitor< Numeric, Num3 > & | projector, | ||
const unsigned * | projectedIndices, | ||
unsigned | nProjectedIndices | ||
) | const |
Definition at line 2301 of file ArrayND.h.
References assert().
ArrayND& npstat::ArrayND< Numeric, StackLen, StackDim >::apply | ( | Functor | f | ) |
This method applies a single-argument functor to each element of the array (in-place). The result returned by the functor becomes the new value of the element. There must be a conversion (static cast) from the functor result to the "Numeric" type. The method returns *this which allows for chaining of such methods. Use the transforming constructor if you want a new array instead.
Referenced by heavyIonTools.ConfigureHeavyIons::__call__(), editorTools.UserCodeTool::__call__(), HiCoreTools.RestrictInputToAOD::__call__(), coreTools.RunOnData::__call__(), trackTools.MakeAODTrackCandidates::__call__(), runJetUncertainties.RunJetUncertainties::__call__(), metTools.AddMETCollection::__call__(), heavyIonTools.ProductionDefaults::__call__(), editorTools.ChangeSource::__call__(), HiCoreTools.RemoveMCMatching::__call__(), cmsswVersionTools.PickRelValInputFiles::__call__(), coreTools.RemoveMCMatching::__call__(), trackTools.MakePATTrackCandidates::__call__(), trigTools.SwitchOnTrigger::__call__(), jetTools.AddJetCollection::__call__(), heavyIonTools.SelectionDefaults::__call__(), HiCoreTools.RemoveAllPATObjectsBut::__call__(), heavyIonTools.DisbaleMonteCarloDeps::__call__(), runType1CaloMEtUncertainties.RunType1CaloMEtUncertainties::__call__(), HiCoreTools.RemoveSpecificPATObjects::__call__(), trigTools.SwitchOnTriggerStandAlone::__call__(), trackTools.MakeTrackCandidates::__call__(), runMVAMEtUncertainties.RunMVAMEtUncertainties::__call__(), tauTools.AddTauCollection::__call__(), trigTools.SwitchOnTriggerMatching::__call__(), HiCoreTools.RemoveCleaning::__call__(), runType1PFMEtUncertainties.RunType1PFMEtUncertainties::__call__(), HiCoreTools.AddCleaning::__call__(), runNoPileUpMEtUncertainties.RunNoPileUpMEtUncertainties::__call__(), trigTools.SwitchOnTriggerMatchingStandAlone::__call__(), trigTools.SwitchOnTriggerMatchEmbedding::__call__(), jetTools.SwitchJetCollection::__call__(), jetTools.AddJetID::__call__(), and jetTools.SetTagInfos::__call__().
ArrayND<Numeric,Len,Dim>& npstat::ArrayND< Numeric, StackLen, StackDim >::apply | ( | Functor | f | ) |
Definition at line 4744 of file ArrayND.h.
Referenced by heavyIonTools.ConfigureHeavyIons::__call__(), editorTools.UserCodeTool::__call__(), HiCoreTools.RestrictInputToAOD::__call__(), coreTools.RunOnData::__call__(), trackTools.MakeAODTrackCandidates::__call__(), runJetUncertainties.RunJetUncertainties::__call__(), metTools.AddMETCollection::__call__(), heavyIonTools.ProductionDefaults::__call__(), editorTools.ChangeSource::__call__(), HiCoreTools.RemoveMCMatching::__call__(), coreTools.RemoveMCMatching::__call__(), trackTools.MakePATTrackCandidates::__call__(), trigTools.SwitchOnTrigger::__call__(), jetTools.AddJetCollection::__call__(), heavyIonTools.SelectionDefaults::__call__(), HiCoreTools.RemoveAllPATObjectsBut::__call__(), heavyIonTools.DisbaleMonteCarloDeps::__call__(), runType1CaloMEtUncertainties.RunType1CaloMEtUncertainties::__call__(), HiCoreTools.RemoveSpecificPATObjects::__call__(), trigTools.SwitchOnTriggerStandAlone::__call__(), trackTools.MakeTrackCandidates::__call__(), runMVAMEtUncertainties.RunMVAMEtUncertainties::__call__(), tauTools.AddTauCollection::__call__(), trigTools.SwitchOnTriggerMatching::__call__(), HiCoreTools.RemoveCleaning::__call__(), runType1PFMEtUncertainties.RunType1PFMEtUncertainties::__call__(), HiCoreTools.AddCleaning::__call__(), runNoPileUpMEtUncertainties.RunNoPileUpMEtUncertainties::__call__(), trigTools.SwitchOnTriggerMatchingStandAlone::__call__(), trigTools.SwitchOnTriggerMatchEmbedding::__call__(), jetTools.SwitchJetCollection::__call__(), jetTools.AddJetID::__call__(), and jetTools.SetTagInfos::__call__().
void npstat::ArrayND< Numeric, StackLen, StackDim >::applySlice | ( | ArrayND< Num2, Len2, Dim2 > & | slice, |
const unsigned * | fixedIndices, | ||
unsigned | nFixedIndices, | ||
Functor | binaryFunct | ||
) |
This method applies the values in the slice to all other coresponding values in the array. This can be used, for example, to multiply/divide by some factor which varies across the slice. The slice values will be used as the right functor argument.
Definition at line 2417 of file ArrayND.h.
References npstat::ArrayND< Numeric, StackLen, StackDim >::dim_, i, and npstat::ArrayND< Numeric, StackLen, StackDim >::localData_.
Referenced by npstat::ArrayND< Num1, Len1, Dim1 >::multiplyBySlice().
ArrayND& npstat::ArrayND< Numeric, StackLen, StackDim >::assign | ( | const ArrayND< Num2, Len2, Dim2 > & | , |
Functor | f | ||
) |
Converting assignment method with a transforming functor
ArrayND<Numeric,Len,Dim>& npstat::ArrayND< Numeric, StackLen, StackDim >::assign | ( | const ArrayND< Num2, Len2, Dim2 > & | r, |
Functor | f | ||
) |
Definition at line 3139 of file ArrayND.h.
References npstat::ArrayND< Numeric, StackLen, StackDim >::data_, f, i, npstat::ArrayND< Numeric, StackLen, StackDim >::localData_, and npstat::ArrayND< Numeric, StackLen, StackDim >::shapeIsKnown_.
Numeric & npstat::ArrayND< Numeric, Len, Dim >::at | ( | ) |
const Numeric & npstat::ArrayND< Numeric, Len, Dim >::at | ( | ) | const |
Numeric & npstat::ArrayND< Numeric, Len, Dim >::at | ( | unsigned | i0 | ) |
Definition at line 3524 of file ArrayND.h.
const Numeric & npstat::ArrayND< Numeric, Len, Dim >::at | ( | unsigned | i0 | ) | const |
Definition at line 3513 of file ArrayND.h.
Numeric & npstat::ArrayND< Numeric, Len, Dim >::at | ( | unsigned | i0, |
unsigned | i1 | ||
) |
Definition at line 3569 of file ArrayND.h.
const Numeric & npstat::ArrayND< Numeric, Len, Dim >::at | ( | unsigned | i0, |
unsigned | i1 | ||
) | const |
Definition at line 3555 of file ArrayND.h.
Numeric & npstat::ArrayND< Numeric, Len, Dim >::at | ( | unsigned | i0, |
unsigned | i1, | ||
unsigned | i2 | ||
) |
Definition at line 4062 of file ArrayND.h.
const Numeric & npstat::ArrayND< Numeric, Len, Dim >::at | ( | unsigned | i0, |
unsigned | i1, | ||
unsigned | i2 | ||
) | const |
Definition at line 3833 of file ArrayND.h.
Numeric & npstat::ArrayND< Numeric, Len, Dim >::at | ( | unsigned | i0, |
unsigned | i1, | ||
unsigned | i2, | ||
unsigned | i3 | ||
) |
Definition at line 4079 of file ArrayND.h.
const Numeric & npstat::ArrayND< Numeric, Len, Dim >::at | ( | unsigned | i0, |
unsigned | i1, | ||
unsigned | i2, | ||
unsigned | i3 | ||
) | const |
Definition at line 3850 of file ArrayND.h.
Numeric & npstat::ArrayND< Numeric, Len, Dim >::at | ( | unsigned | i0, |
unsigned | i1, | ||
unsigned | i2, | ||
unsigned | i3, | ||
unsigned | i4 | ||
) |
Definition at line 4099 of file ArrayND.h.
const Numeric & npstat::ArrayND< Numeric, Len, Dim >::at | ( | unsigned | i0, |
unsigned | i1, | ||
unsigned | i2, | ||
unsigned | i3, | ||
unsigned | i4 | ||
) | const |
Definition at line 3870 of file ArrayND.h.
Numeric & npstat::ArrayND< Numeric, Len, Dim >::at | ( | unsigned | i0, |
unsigned | i1, | ||
unsigned | i2, | ||
unsigned | i3, | ||
unsigned | i4, | ||
unsigned | i5 | ||
) |
Definition at line 4123 of file ArrayND.h.
const Numeric & npstat::ArrayND< Numeric, Len, Dim >::at | ( | unsigned | i0, |
unsigned | i1, | ||
unsigned | i2, | ||
unsigned | i3, | ||
unsigned | i4, | ||
unsigned | i5 | ||
) | const |
Definition at line 3894 of file ArrayND.h.
Numeric & npstat::ArrayND< Numeric, Len, Dim >::at | ( | unsigned | i0, |
unsigned | i1, | ||
unsigned | i2, | ||
unsigned | i3, | ||
unsigned | i4, | ||
unsigned | i5, | ||
unsigned | i6 | ||
) |
Definition at line 4150 of file ArrayND.h.
const Numeric & npstat::ArrayND< Numeric, Len, Dim >::at | ( | unsigned | i0, |
unsigned | i1, | ||
unsigned | i2, | ||
unsigned | i3, | ||
unsigned | i4, | ||
unsigned | i5, | ||
unsigned | i6 | ||
) | const |
Definition at line 3921 of file ArrayND.h.
Numeric & npstat::ArrayND< Numeric, Len, Dim >::at | ( | unsigned | i0, |
unsigned | i1, | ||
unsigned | i2, | ||
unsigned | i3, | ||
unsigned | i4, | ||
unsigned | i5, | ||
unsigned | i6, | ||
unsigned | i7 | ||
) |
Definition at line 4180 of file ArrayND.h.
const Numeric & npstat::ArrayND< Numeric, Len, Dim >::at | ( | unsigned | i0, |
unsigned | i1, | ||
unsigned | i2, | ||
unsigned | i3, | ||
unsigned | i4, | ||
unsigned | i5, | ||
unsigned | i6, | ||
unsigned | i7 | ||
) | const |
Definition at line 3951 of file ArrayND.h.
Numeric & npstat::ArrayND< Numeric, Len, Dim >::at | ( | unsigned | i0, |
unsigned | i1, | ||
unsigned | i2, | ||
unsigned | i3, | ||
unsigned | i4, | ||
unsigned | i5, | ||
unsigned | i6, | ||
unsigned | i7, | ||
unsigned | i8 | ||
) |
Definition at line 4214 of file ArrayND.h.
const Numeric & npstat::ArrayND< Numeric, Len, Dim >::at | ( | unsigned | i0, |
unsigned | i1, | ||
unsigned | i2, | ||
unsigned | i3, | ||
unsigned | i4, | ||
unsigned | i5, | ||
unsigned | i6, | ||
unsigned | i7, | ||
unsigned | i8 | ||
) | const |
Definition at line 3985 of file ArrayND.h.
Numeric & npstat::ArrayND< Numeric, Len, Dim >::at | ( | unsigned | i0, |
unsigned | i1, | ||
unsigned | i2, | ||
unsigned | i3, | ||
unsigned | i4, | ||
unsigned | i5, | ||
unsigned | i6, | ||
unsigned | i7, | ||
unsigned | i8, | ||
unsigned | i9 | ||
) |
Definition at line 4251 of file ArrayND.h.
const Numeric & npstat::ArrayND< Numeric, Len, Dim >::at | ( | unsigned | i0, |
unsigned | i1, | ||
unsigned | i2, | ||
unsigned | i3, | ||
unsigned | i4, | ||
unsigned | i5, | ||
unsigned | i6, | ||
unsigned | i7, | ||
unsigned | i8, | ||
unsigned | i9 | ||
) | const |
Definition at line 4022 of file ArrayND.h.
|
private |
Definition at line 1650 of file ArrayND.h.
References assert(), i, and npstat::makeBuffer().
Referenced by npstat::ArrayND< Numeric, StackLen, StackDim >::ArrayND().
|
private |
Definition at line 2559 of file ArrayND.h.
References assert(), j, and npstat::makeBuffer().
Referenced by npstat::ArrayND< Numeric, StackLen, StackDim >::ArrayND(), and npstat::ArrayND< Numeric, StackLen, StackDim >::restore().
ArrayND npstat::ArrayND< Numeric, StackLen, StackDim >::cdfArray | ( | double | scale = 1.0 | ) | const |
The operation inverse to "derivative". Constructs multivariate cumulative density function.
ArrayND<Numeric,Len,Dim> npstat::ArrayND< Numeric, StackLen, StackDim >::cdfArray | ( | const double | inscale | ) | const |
Definition at line 5355 of file ArrayND.h.
References npstat::ArrayND< Numeric, StackLen, StackDim >::convertLinearIndex(), npstat::ArrayND< Numeric, StackLen, StackDim >::data_, i, npstat::ArrayND< Numeric, StackLen, StackDim >::length(), query::result, pileupReCalc_HLTpaths::scale, npstat::ArrayND< Numeric, StackLen, StackDim >::strides_, and relativeConstraints::value.
Num2 npstat::ArrayND< Numeric, StackLen, StackDim >::cdfValue | ( | const unsigned * | index, |
unsigned | indexLen | ||
) | const |
Calculate just one multivariate cumulative density function value. Point with given index will be included in the sum.
Accumulator npstat::ArrayND< Numeric, StackLen, StackDim >::cdfValue | ( | const unsigned * | index, |
const unsigned | indexLen | ||
) | const |
Definition at line 5336 of file ArrayND.h.
References i, and cmsHarvester::index.
|
private |
Definition at line 1458 of file ArrayND.h.
References npstat::ArrayND< Numeric, StackLen, StackDim >::data_, i, testEve_cfg::level, npstat::ArrayND< Numeric, StackLen, StackDim >::shape_, and npstat::ArrayND< Numeric, StackLen, StackDim >::strides_.
void npstat::ArrayND< Numeric, Len, Dim >::circularFlatScan | ( | ArrayND< Num2, Len2, Dim2 > & | other, |
const unsigned * | thisCorner, | ||
const unsigned * | range, | ||
const unsigned * | otherCorner, | ||
unsigned | arrLen, | ||
Functor | binaryFunct | ||
) |
|
inline |
|
inline |
|
inline |
Definition at line 5853 of file ArrayND.h.
|
inline |
Definition at line 5663 of file ArrayND.h.
|
inline |
Definition at line 5862 of file ArrayND.h.
|
inline |
Definition at line 5672 of file ArrayND.h.
|
inline |
Definition at line 5873 of file ArrayND.h.
|
inline |
Definition at line 5683 of file ArrayND.h.
|
inline |
Definition at line 5886 of file ArrayND.h.
|
inline |
Definition at line 5696 of file ArrayND.h.
|
inline |
Definition at line 5901 of file ArrayND.h.
|
inline |
Definition at line 5711 of file ArrayND.h.
|
inline |
Definition at line 5918 of file ArrayND.h.
|
inline |
Definition at line 5728 of file ArrayND.h.
|
inline |
Definition at line 5937 of file ArrayND.h.
|
inline |
Definition at line 5747 of file ArrayND.h.
|
inline |
Definition at line 5958 of file ArrayND.h.
|
inline |
Definition at line 5768 of file ArrayND.h.
|
inline |
Definition at line 5981 of file ArrayND.h.
|
inline |
Definition at line 5791 of file ArrayND.h.
|
inline |
Definition at line 6006 of file ArrayND.h.
|
inline |
Definition at line 5816 of file ArrayND.h.
|
inline |
|
static |
Definition at line 6033 of file ArrayND.h.
References mergeVDriftHistosByStation::name, and AlCaHLTBitMon_QueryRunRegistry::string.
|
inline |
|
inline |
Closest value accessor (works as if the array allows access with non-integer indices). For example, the second point in some dimension will be accessed in case the coordinate in that dimension is between 0.5 and 1.5. This function can be used, for example, for implementing simple N-D histogramming or for closest value interpolation and extrapolation.
Definition at line 3387 of file ArrayND.h.
References assert(), i, and customizeTrackingMonitorSeedNumber::idx.
Referenced by npstat::Private::ArrayMapper< Num1, Len1, Dim1, Num2, Len2, Dim2 >::operator()().
|
inline |
Definition at line 3367 of file ArrayND.h.
References assert(), i, and customizeTrackingMonitorSeedNumber::idx.
|
private |
Definition at line 1343 of file ArrayND.h.
References npstat::ArrayND< Numeric, StackLen, StackDim >::data_, i, testEve_cfg::level, npstat::ArrayND< Numeric, StackLen, StackDim >::shape_, and npstat::ArrayND< Numeric, StackLen, StackDim >::strides_.
ArrayND< Numeric, Len, Dim > & npstat::ArrayND< Numeric, Len, Dim >::constFill | ( | Numeric | c | ) |
This method fills the array data with a constant value
Definition at line 4766 of file ArrayND.h.
References i.
Referenced by npstat::HistoND< Numeric, Axis >::setBinsToConst(), and npstat::HistoND< Numeric, Axis >::setOverflowsToConst().
ArrayND< Numeric, Len, Dim > npstat::ArrayND< Numeric, Len, Dim >::contract | ( | unsigned | pos1, |
unsigned | pos2 | ||
) | const |
Contraction of a pair of indices. Note that the array length must be the same in both dimensions.
Definition at line 5059 of file ArrayND.h.
References npstat::destroyBuffer(), i, npstat::makeBuffer(), and query::result.
|
private |
Definition at line 5021 of file ArrayND.h.
References assert(), npstat::ArrayND< Numeric, StackLen, StackDim >::data_, npstat::ArrayND< Numeric, StackLen, StackDim >::dim_, i, j, npstat::ArrayND< Numeric, StackLen, StackDim >::shape_, npstat::ArrayND< Numeric, StackLen, StackDim >::strides_, and tmp.
void npstat::ArrayND< Numeric, Len, Dim >::convertLinearIndex | ( | unsigned long | l, |
unsigned * | index, | ||
unsigned | indexLen | ||
) | const |
Convert linear index into multidimensional index
Definition at line 3234 of file ArrayND.h.
Referenced by npstat::ArrayND< Numeric, StackLen, StackDim >::cdfArray(), npstat::ArrayND< Numeric, StackLen, StackDim >::derivative(), and npstat::HistoND< Numeric, Axis >::HistoND().
|
inline |
The next function turns the array data into the conditional cumulative density function for the last dimension. "Num2" is the type of accumulator class used. The cdf is stored in such a way that the cdf value of 0 is skipped (the first stored value is the sum which includes the 0th bin). The slice is filled with the sum of values. The "useTrapezoids" parameter specifies whether trapezoidal integration formula should be utilized (rectangular integration is used in case "useTrapezoids" value is "false").
Definition at line 4949 of file ArrayND.h.
References assert(), and npstat::ArrayND< Numeric, StackLen, StackDim >::shapeIsKnown_.
|
private |
Definition at line 4899 of file ArrayND.h.
References data, npstat::ArrayND< Numeric, StackLen, StackDim >::data_, npstat::ArrayND< Numeric, StackLen, StackDim >::dim_, i, testEve_cfg::level, npstat::ArrayND< Numeric, StackLen, StackDim >::localData_, and npstat::ArrayND< Numeric, StackLen, StackDim >::strides_.
|
inlineprivate |
Definition at line 3355 of file ArrayND.h.
|
private |
Definition at line 2665 of file ArrayND.h.
References npstat::ArrayND< Numeric, StackLen, StackDim >::data_, f, i, testEve_cfg::level, and npstat::ArrayND< Numeric, StackLen, StackDim >::strides_.
Referenced by npstat::ArrayND< Numeric, StackLen, StackDim >::ArrayND().
|
inline |
Linearized data
Definition at line 234 of file ArrayND.h.
Referenced by cuy.FindIssue::__init__(), npstat::LinInterpolatedTableND< Numeric, Axis >::invert1DResponse(), and npstat::Private::lind_invert1DSlice().
ArrayND npstat::ArrayND< Numeric, StackLen, StackDim >::derivative | ( | double | scale = 1.0 | ) | const |
Mixed derivative over all directions. Useful for generating densities from distribution functions. The resulting array will have one less point in each dimension. Class Num2 is used as accumulator for calculations. static_cast from Num2 to Numeric must exist. The result is multiplied by the scale factor provided.
ArrayND<Numeric,Len,Dim> npstat::ArrayND< Numeric, StackLen, StackDim >::derivative | ( | const double | inscale | ) | const |
Definition at line 5253 of file ArrayND.h.
References npstat::ArrayND< Numeric, StackLen, StackDim >::convertLinearIndex(), npstat::ArrayND< Numeric, StackLen, StackDim >::data_, i, npstat::ArrayND< Numeric, StackLen, StackDim >::length(), query::result, and pileupReCalc_HLTpaths::scale.
ArrayND npstat::ArrayND< Numeric, StackLen, StackDim >::dot | ( | const ArrayND< Num2, Len2, Dim2 > & | r | ) | const |
Here, dot product corresponds to outer product followed by the contraction over two indices – the last index of this object and the first index of the argument.
ArrayND<Numeric,Len,Dim> npstat::ArrayND< Numeric, StackLen, StackDim >::dot | ( | const ArrayND< Num2, Len2, Dim2 > & | r | ) | const |
Definition at line 5583 of file ArrayND.h.
References npstat::copyBuffer(), npstat::ArrayND< Numeric, StackLen, StackDim >::data_, npstat::destroyBuffer(), npstat::ArrayND< Numeric, StackLen, StackDim >::dim_, i, npstat::makeBuffer(), query::result, and npstat::ArrayND< Numeric, StackLen, StackDim >::shape_.
|
private |
Definition at line 5546 of file ArrayND.h.
References npstat::ArrayND< Numeric, StackLen, StackDim >::data_, npstat::ArrayND< Numeric, StackLen, StackDim >::dim_, i, prof2calltree::l, testEve_cfg::level, npstat::ArrayND< Numeric, StackLen, StackDim >::shape_, and npstat::ArrayND< Numeric, StackLen, StackDim >::strides_.
|
private |
Definition at line 1382 of file ArrayND.h.
References npstat::ArrayND< Numeric, StackLen, StackDim >::data_, i, testEve_cfg::level, npstat::ArrayND< Numeric, StackLen, StackDim >::shape_, and npstat::ArrayND< Numeric, StackLen, StackDim >::strides_.
void npstat::ArrayND< Numeric, Len, Dim >::dualCircularScan | ( | ArrayND< Num2, Len2, Dim2 > & | other, |
const unsigned * | thisCorner, | ||
const unsigned * | range, | ||
const unsigned * | otherCorner, | ||
unsigned | arrLen, | ||
Functor | binaryFunct | ||
) |
|
inline |
|
inline |
void npstat::ArrayND< Numeric, Len, StackDim >::exportSubrange | ( | const unsigned * | fromCorner, |
unsigned | lenCorner, | ||
ArrayND< Num2, Len2, Dim2 > * | dest | ||
) | const |
Copy a hyperrectangular subrange of this array potentially completely overwriting the destination array. The starting corner in this object where copying begins is provided by the first two arguments. The subrange size is defined by the shape of the destination array.
Definition at line 6089 of file ArrayND.h.
References assert(), npstat::clearBuffer(), npstat::ArrayND< Numeric, StackLen, StackDim >::dim_, npstat::ArrayND< Numeric, StackLen, StackDim >::localData_, npstat::ArrayND< Numeric, StackLen, StackDim >::shape_, and npstat::ArrayND< Numeric, StackLen, StackDim >::shapeIsKnown_.
|
private |
Definition at line 1419 of file ArrayND.h.
References npstat::ArrayND< Numeric, StackLen, StackDim >::data_, i, testEve_cfg::level, npstat::ArrayND< Numeric, StackLen, StackDim >::shape_, and npstat::ArrayND< Numeric, StackLen, StackDim >::strides_.
void npstat::ArrayND< Numeric, Len, Dim >::flatCircularScan | ( | ArrayND< Num2, Len2, Dim2 > & | other, |
const unsigned * | thisCorner, | ||
const unsigned * | range, | ||
const unsigned * | otherCorner, | ||
unsigned | arrLen, | ||
Functor | binaryFunct | ||
) |
|
inline |
ArrayND& npstat::ArrayND< Numeric, StackLen, StackDim >::functorFill | ( | Functor | f | ) |
This method fills the array from a functor which takes (const unsigned* index, unsigned indexLen) arguments. There must be a conversion (static cast) from the functor result to the "Numeric" type.
Referenced by npstat::rescanArray().
ArrayND<Numeric,Len,Dim>& npstat::ArrayND< Numeric, StackLen, StackDim >::functorFill | ( | Functor | f | ) |
Definition at line 4968 of file ArrayND.h.
References npstat::destroyBuffer(), f, cmsHarvester::index, and npstat::makeBuffer().
|
private |
Definition at line 4871 of file ArrayND.h.
References f, callgraph::farg, i, customizeTrackingMonitorSeedNumber::idx, and testEve_cfg::level.
|
inline |
Convenience method for importing a slice into this array from a memory buffer
Definition at line 743 of file ArrayND.h.
|
inline |
Convenience method for importing a slice into this array
Definition at line 728 of file ArrayND.h.
void npstat::ArrayND< Numeric, Len, StackDim >::importSubrange | ( | const unsigned * | fromCorner, |
unsigned | lenCorner, | ||
const ArrayND< Num2, Len2, Dim2 > & | from | ||
) |
The inverse operation to "exportSubrange"
Definition at line 6122 of file ArrayND.h.
References assert(), npstat::clearBuffer(), npstat::ArrayND< Numeric, StackLen, StackDim >::dim_, npstat::ArrayND< Numeric, StackLen, StackDim >::localData_, npstat::ArrayND< Numeric, StackLen, StackDim >::shape_, and npstat::ArrayND< Numeric, StackLen, StackDim >::shapeIsKnown_.
|
inline |
Convenience method for element-by-element in-place multiplication
Definition at line 550 of file ArrayND.h.
Numeric npstat::ArrayND< Numeric, Len, Dim >::interpolate1 | ( | const double * | x, |
unsigned | xDim | ||
) | const |
Multilinear interpolation. Closest value extrapolation is used in case some index is outside of the array bounds. Note that this function works only if the array dimensionality is less than CHAR_BIT*sizeof(unsigned long). x is the "coordinate" which coincides with array index for x equal to unsigned integers.
Definition at line 4610 of file ArrayND.h.
Referenced by npstat::interpolateHistoND(), and npstat::Private::ArrayMapper< Num1, Len1, Dim1, Num2, Len2, Dim2 >::operator()().
|
inline |
Multicubic interpolation. Closest value extrapolation is used in case some index is outside of the array bounds. This function is much slower than "interpolate1" (in the current implementation, a recursive algorithm is used).
Definition at line 4726 of file ArrayND.h.
References assert().
Referenced by npstat::Private::ArrayMapper< Num1, Len1, Dim1, Num2, Len2, Dim2 >::operator()().
|
private |
Definition at line 4675 of file ArrayND.h.
References assert(), npstat::interpolate_cubic(), npstat::interpolate_linear(), npstat::interpolate_quadratic(), testEve_cfg::level, findQualityFiles::v, and x.
bool npstat::ArrayND< Numeric, Len, Dim >::isClose | ( | const ArrayND< Num2, Len2, Dim2 > & | r, |
double | eps | ||
) | const |
Check that all elements of this array differ from the corresponding elements of another array by at most "eps". Equivalent to maxAbsDifference(r) <= eps (but usually faster).
Definition at line 4987 of file ArrayND.h.
References npstat::absDifference(), npstat::ArrayND< Numeric, StackLen, StackDim >::data_, i, and npstat::ArrayND< Numeric, StackLen, StackDim >::localData_.
|
inline |
bool npstat::ArrayND< Numeric, Len, Dim >::isDensity | ( | ) | const |
This method checks whether all array elements are non-negative and, in addition, there is at least one positive element
Definition at line 3188 of file ArrayND.h.
References i, and npstat::ComplexComparesFalse< T >::less().
|
inline |
Check shape compatibility with another array. Equivalent to but faster than isCompatible(r.shape()).
Definition at line 2457 of file ArrayND.h.
References assert(), npstat::ArrayND< Numeric, StackLen, StackDim >::dim_, i, npstat::ArrayND< Numeric, StackLen, StackDim >::len_, npstat::ArrayND< Numeric, StackLen, StackDim >::shape_, and npstat::ArrayND< Numeric, StackLen, StackDim >::shapeIsKnown_.
|
inline |
bool npstat::ArrayND< Numeric, Len, Dim >::isZero | ( | ) | const |
void npstat::ArrayND< Numeric, StackLen, StackDim >::jointMemSliceScan | ( | Num2 * | buffer, |
unsigned long | bufLen, | ||
const unsigned * | fixedIndices, | ||
const unsigned * | fixedIndexValues, | ||
unsigned | nFixedIndices, | ||
Functor | binaryFunct | ||
) |
Joint cycle over a slice this array and some memory buffer. The length of the buffer must be equal to the length of the slice, as in "jointSliceScan". This method is to be used for import/export of slice data and in-place operations (addition, multiplication, etc) with memory managed not by ArrayND but in some other manner.
Definition at line 1982 of file ArrayND.h.
References assert(), and customizeTrackingMonitorSeedNumber::idx.
Referenced by npstat::ArrayND< Num1, Len1, Dim1 >::importMemSlice().
void npstat::ArrayND< Numeric, StackLen, StackDim >::jointScan | ( | ArrayND< Num2, Len2, Dim2 > & | other, |
Functor | binaryFunct | ||
) |
Loop over all elements of two compatible arrays and apply a binary functor
Definition at line 2403 of file ArrayND.h.
References npstat::ArrayND< Numeric, StackLen, StackDim >::data_, i, and npstat::ArrayND< Numeric, StackLen, StackDim >::localData_.
Referenced by npstat::ArrayND< Num1, Len1, Dim1 >::inPlaceMul().
|
private |
void npstat::ArrayND< Numeric, StackLen, StackDim >::jointSliceLoop | ( | const unsigned | level, |
const unsigned long | idx0, | ||
const unsigned | level1, | ||
const unsigned long | idx1, | ||
Num2 * | sliceData, | ||
const unsigned long * | sliceStrides, | ||
const unsigned * | fixedIndices, | ||
const unsigned * | fixedIndexValues, | ||
const unsigned | nFixedIndices, | ||
Op | fcn | ||
) |
Definition at line 1917 of file ArrayND.h.
References fcn(), i, j, and testEve_cfg::level.
void npstat::ArrayND< Numeric, StackLen, StackDim >::jointSliceScan | ( | ArrayND< Num2, Len2, Dim2 > & | slice, |
const unsigned * | fixedIndices, | ||
const unsigned * | fixedIndexValues, | ||
unsigned | nFixedIndices, | ||
Functor | binaryFunct | ||
) |
Joint cycle over the data of this array and the slice. The array to which the "slice" argument refers should normally be created by the slicing constructor using this array as the argument. The "fixedIndices" argument should be the same as the "indices" argument in that constructor. This method is to be used for import/export of slice data and in-place operations (addition, multiplication, etc).
Definition at line 1963 of file ArrayND.h.
References npstat::ArrayND< Numeric, StackLen, StackDim >::data_, npstat::ArrayND< Numeric, StackLen, StackDim >::dim_, customizeTrackingMonitorSeedNumber::idx, npstat::ArrayND< Numeric, StackLen, StackDim >::localData_, and npstat::ArrayND< Numeric, StackLen, StackDim >::strides_.
Referenced by npstat::ArrayND< Num1, Len1, Dim1 >::importSlice().
void npstat::ArrayND< Numeric, Len, Dim >::jointSubrangeScan | ( | ArrayND< Num2, Len2, Dim2 > & | other, |
const unsigned * | thisCorner, | ||
const unsigned * | range, | ||
const unsigned * | otherCorner, | ||
unsigned | arrLen, | ||
Functor | binaryFunct | ||
) |
Loop over subranges in two arrays in such a way that the functor is called only if the indices on both sides are valid. The topology of both arrays is assumed to be box-like (flat). The starting corner in this object (where cycling begins) is provided by the argument "thisCorner". The "range" argument specifies the width of the processed patch in each dimension. The corner of the "other" array where cycling begins is provided by the "otherCorner" argument. The "arrLen" argument specifies the number of elements in "thisCorner", "range", and "otherCorner" arrays. It should be equal to the rank of either of the two ArrayND arrays.
Note that there is no good way for this method to assume constness of this or "other" array: this becomes apparent only after the functor has been specified. Apply const_cast judiciously as needed, other solutions of this problem are not any better.
|
inline |
Total number of data array elements
Definition at line 231 of file ArrayND.h.
Referenced by npstat::ArrayND< Numeric, StackLen, StackDim >::ArrayND(), npstat::ArrayND< Numeric, StackLen, StackDim >::cdfArray(), npstat::ArrayND< Numeric, StackLen, StackDim >::derivative(), npstat::HistoND< Numeric, Axis >::HistoND(), npstat::LinInterpolatedTableND< Numeric, Axis >::invert1DResponse(), npstat::LinInterpolatedTableND< Numeric, Axis >::length(), npstat::Private::lind_invert1DSlice(), and npstat::HistoND< Numeric, Axis >::nBins().
ArrayND< Numeric, Len, Dim > & npstat::ArrayND< Numeric, Len, Dim >::linearFill | ( | const double * | coeff, |
unsigned | coeffLen, | ||
double | c | ||
) |
This method fills the array with a linear combination of the index values. For example, a 2-d array element with indices i, k will be set to (coeff[0]*i + coeff[1]*k + c). There must be a conversion (static cast) from double into "Numeric".
Definition at line 4851 of file ArrayND.h.
References assert(), and edm::shift.
|
private |
Definition at line 4823 of file ArrayND.h.
References EnergyCorrector::c, i, customizeTrackingMonitorSeedNumber::idx, testEve_cfg::level, and edm::shift.
unsigned long npstat::ArrayND< Numeric, Len, Dim >::linearIndex | ( | const unsigned * | idx, |
unsigned | idxLen | ||
) | const |
Convert multidimensional index into linear index
Definition at line 3257 of file ArrayND.h.
References assert(), i, and customizeTrackingMonitorSeedNumber::idx.
|
inline |
Element access using linear index (no bounds checking)
Definition at line 3321 of file ArrayND.h.
References cmsHarvester::index.
Referenced by npstat::HistoND< Numeric, Axis >::HistoND(), and npstat::HistoND< Numeric, Axis >::setLinearBin().
|
inline |
|
inline |
Element access using linear index (with bounds checking)
Definition at line 3335 of file ArrayND.h.
References cmsHarvester::index.
Referenced by npstat::HistoND< Numeric, Axis >::setLinearBinAt().
|
inline |
Definition at line 3345 of file ArrayND.h.
References cmsHarvester::index.
unsigned npstat::ArrayND< Numeric, Len, Dim >::makeCopulaSteps | ( | double | tolerance, |
unsigned | maxIterations | ||
) |
This method accumulates marginals and divides the array (treated as a distribution) by the product of the marginals. Several iterations like this turn the distribution into a copula. If the array contains negative elements, they are turned into zeros before the iterations are performed. The function returns the actual number of iteration performed when the given tolerance was reached for all marginals.
Definition at line 4456 of file ArrayND.h.
References a, npstat::absDifference(), i, customizeTrackingMonitorSeedNumber::idx, and prof2calltree::l.
ArrayND< Numeric, Len, Dim > & npstat::ArrayND< Numeric, Len, Dim >::makeNonNegative | ( | ) |
ArrayND< Numeric, Len, Dim > & npstat::ArrayND< Numeric, Len, Dim >::makeUnit | ( | ) |
ArrayND npstat::ArrayND< Numeric, StackLen, StackDim >::marginalize | ( | const ArrayND< Num2, Len2, Dim2 > & | prior, |
const unsigned * | indexMap, | ||
unsigned | mapLen | ||
) | const |
The intent of this method is to marginalize over a set of indices with a prior. Essentially, we are calculating integrals akin to p(y) = Integral f(y|x) g(x) dx in which all functions are represented on an equidistant grid. If needed, multiplication of the result by the grid cell size should be performed after this function. "indexMap" specifies how the indices of the prior array (which is like g(x)) are mapped into the indices of this array (which is like f(y|x)). The number of elements in the map, "mapLen", must be equal to the rank of the prior. Dimension 0 of the prior corresponds to the dimension indexMap[0] of this array, dimension 1 corresponds to indexMap[1], etc.
ArrayND<Numeric,StackLen,StackDim> npstat::ArrayND< Numeric, StackLen, StackDim >::marginalize | ( | const ArrayND< Num2, Len2, Dim2 > & | prior, |
const unsigned * | indexMap, | ||
const unsigned | mapLen | ||
) | const |
Definition at line 1578 of file ArrayND.h.
References assert(), npstat::ArrayND< Numeric, StackLen, StackDim >::data_, npstat::ArrayND< Numeric, StackLen, StackDim >::dim_, i, j, npstat::ArrayND< Numeric, StackLen, StackDim >::localData_, runTheMatrix::mapped, query::result, and npstat::ArrayND< Numeric, StackLen, StackDim >::shape_.
|
private |
Definition at line 1501 of file ArrayND.h.
|
private |
Definition at line 1531 of file ArrayND.h.
References npstat::ArrayND< Numeric, StackLen, StackDim >::data_, npstat::ArrayND< Numeric, StackLen, StackDim >::dim_, i, testEve_cfg::level, npstat::ArrayND< Numeric, StackLen, StackDim >::localData_, runTheMatrix::mapped, and npstat::ArrayND< Numeric, StackLen, StackDim >::strides_.
Numeric npstat::ArrayND< Numeric, Len, Dim >::max | ( | ) | const |
Numeric npstat::ArrayND< Numeric, Len, Dim >::max | ( | unsigned * | index, |
unsigned | indexLen | ||
) | const |
Maximum array element and its index
Definition at line 5208 of file ArrayND.h.
References i.
double npstat::ArrayND< Numeric, Len, Dim >::maxAbsDifference | ( | const ArrayND< Numeric, Len2, Dim2 > & | r | ) | const |
Largest absolute difference with another bin-compatible array
Definition at line 4292 of file ArrayND.h.
References npstat::absDifference(), npstat::ArrayND< Numeric, StackLen, StackDim >::data_, i, and npstat::ArrayND< Numeric, StackLen, StackDim >::localData_.
unsigned npstat::ArrayND< Numeric, Len, Dim >::maximumSpan | ( | ) | const |
Numeric npstat::ArrayND< Numeric, Len, Dim >::min | ( | ) | const |
Numeric npstat::ArrayND< Numeric, Len, Dim >::min | ( | unsigned * | index, |
unsigned | indexLen | ||
) | const |
Minimum array element and its index
Definition at line 5166 of file ArrayND.h.
References i.
unsigned npstat::ArrayND< Numeric, Len, Dim >::minimumSpan | ( | ) | const |
void npstat::ArrayND< Numeric, Len, Dim >::multiMirror | ( | ArrayND< Num2, Len2, Dim2 > * | out | ) | const |
Fill another array with all possible mirror images of this one. This other array must have twice the span in each dimension.
Definition at line 5456 of file ArrayND.h.
References assert(), npstat::ArrayND< Numeric, StackLen, StackDim >::dim_, npstat::doubleShape(), i, customizeTrackingMonitorSeedNumber::idx, prof2calltree::l, npstat::ArrayND< Numeric, StackLen, StackDim >::localData_, npstat::ArrayND< Numeric, StackLen, StackDim >::shape_, npstat::ArrayND< Numeric, StackLen, StackDim >::shapeIsKnown_, and npstat::ArrayND< Numeric, StackLen, StackDim >::value().
|
inline |
Convenience method which multiplies the array by a scale factor which varies across the slice
Definition at line 769 of file ArrayND.h.
|
inline |
Logical negation of operator==
Definition at line 4341 of file ArrayND.h.
References alignCSCRings::r.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
ArrayND npstat::ArrayND< Numeric, StackLen, StackDim >::operator* | ( | const Num2 & | r | ) | const |
multiplication by a scalar
ArrayND<Numeric,Len,Dim> npstat::ArrayND< Numeric, StackLen, StackDim >::operator* | ( | const Num2 & | r | ) | const |
Definition at line 4350 of file ArrayND.h.
References npstat::ArrayND< Numeric, StackLen, StackDim >::data_, i, and query::result.
ArrayND& npstat::ArrayND< Numeric, StackLen, StackDim >::operator*= | ( | const Num2 & | r | ) |
In-place operators. Note that these work faster than the binary versions, i.e., A += B is much faster than A = A + B.
ArrayND<Numeric,Len,Dim>& npstat::ArrayND< Numeric, StackLen, StackDim >::operator*= | ( | const Num2 & | r | ) |
|
inline |
ArrayND npstat::ArrayND< Numeric, StackLen, StackDim >::operator+ | ( | const ArrayND< Numeric, Len2, Dim2 > & | r | ) | const |
addition of two arrays
ArrayND<Numeric,Len,Dim> npstat::ArrayND< Numeric, StackLen, StackDim >::operator+ | ( | const ArrayND< Numeric, Len2, Dim2 > & | r | ) | const |
Definition at line 4378 of file ArrayND.h.
References npstat::ArrayND< Numeric, StackLen, StackDim >::data_, i, and query::result.
ArrayND& npstat::ArrayND< Numeric, StackLen, StackDim >::operator+= | ( | const ArrayND< Num2, Len2, Dim2 > & | r | ) |
ArrayND<Numeric,Len,Dim>& npstat::ArrayND< Numeric, StackLen, StackDim >::operator+= | ( | const ArrayND< Num2, Len2, Dim2 > & | r | ) |
Definition at line 4572 of file ArrayND.h.
References npstat::ArrayND< Numeric, StackLen, StackDim >::data_, and i.
ArrayND< Numeric, Len, Dim > npstat::ArrayND< Numeric, Len, Dim >::operator- | ( | ) | const |
operator- applies the unary minus operator to every element
Definition at line 4414 of file ArrayND.h.
References npstat::ArrayND< Numeric, StackLen, StackDim >::data_, i, and query::result.
ArrayND npstat::ArrayND< Numeric, StackLen, StackDim >::operator- | ( | const ArrayND< Numeric, Len2, Dim2 > & | r | ) | const |
subtraction of two arrays
ArrayND<Numeric,Len,Dim> npstat::ArrayND< Numeric, StackLen, StackDim >::operator- | ( | const ArrayND< Numeric, Len2, Dim2 > & | r | ) | const |
Definition at line 4393 of file ArrayND.h.
References npstat::ArrayND< Numeric, StackLen, StackDim >::data_, i, and query::result.
ArrayND& npstat::ArrayND< Numeric, StackLen, StackDim >::operator-= | ( | const ArrayND< Num2, Len2, Dim2 > & | r | ) |
ArrayND<Numeric,Len,Dim>& npstat::ArrayND< Numeric, StackLen, StackDim >::operator-= | ( | const ArrayND< Num2, Len2, Dim2 > & | r | ) |
Definition at line 4599 of file ArrayND.h.
References npstat::ArrayND< Numeric, StackLen, StackDim >::data_, and i.
ArrayND npstat::ArrayND< Numeric, StackLen, StackDim >::operator/ | ( | const Num2 & | r | ) | const |
division by a scalar
ArrayND<Numeric,Len,Dim> npstat::ArrayND< Numeric, StackLen, StackDim >::operator/ | ( | const Num2 & | r | ) | const |
Definition at line 4363 of file ArrayND.h.
References npstat::ArrayND< Numeric, StackLen, StackDim >::data_, i, and query::result.
ArrayND& npstat::ArrayND< Numeric, StackLen, StackDim >::operator/= | ( | const Num2 & | r | ) |
ArrayND<Numeric,Len,Dim>& npstat::ArrayND< Numeric, StackLen, StackDim >::operator/= | ( | const Num2 & | r | ) |
ArrayND< Numeric, Len, Dim > & npstat::ArrayND< Numeric, Len, Dim >::operator= | ( | const ArrayND< Numeric, StackLen, StackDim > & | r | ) |
Assignment operator. The shape of the array on the right must be compatible with the shape of the array on the left. The only exception is when the array on the left has no shape at all (i.e., it was created by the default constructor or its "uninitialize" method was called). In this case the array on the left will assume the shape of the array on the right.
Definition at line 3079 of file ArrayND.h.
References npstat::copyBuffer(), npstat::ArrayND< Numeric, StackLen, StackDim >::data_, npstat::ArrayND< Numeric, StackLen, StackDim >::localData_, and npstat::ArrayND< Numeric, StackLen, StackDim >::shapeIsKnown_.
ArrayND& npstat::ArrayND< Numeric, StackLen, StackDim >::operator= | ( | const ArrayND< Num2, Len2, Dim2 > & | ) |
Converting assignment operator
ArrayND<Numeric,Len,Dim>& npstat::ArrayND< Numeric, StackLen, StackDim >::operator= | ( | const ArrayND< Num2, Len2, Dim2 > & | r | ) |
Definition at line 3109 of file ArrayND.h.
References npstat::copyBuffer(), npstat::ArrayND< Numeric, StackLen, StackDim >::data_, npstat::ArrayND< Numeric, StackLen, StackDim >::localData_, and npstat::ArrayND< Numeric, StackLen, StackDim >::shapeIsKnown_.
bool npstat::ArrayND< Numeric, Len, Dim >::operator== | ( | const ArrayND< Numeric, Len2, Dim2 > & | r | ) | const |
Compare two arrays for equality
Definition at line 4319 of file ArrayND.h.
References assert(), npstat::ArrayND< Numeric, StackLen, StackDim >::data_, npstat::ArrayND< Numeric, StackLen, StackDim >::dim_, i, j, npstat::ArrayND< Numeric, StackLen, StackDim >::len_, npstat::ArrayND< Numeric, StackLen, StackDim >::shape_, npstat::ArrayND< Numeric, StackLen, StackDim >::shapeIsKnown_, and npstat::ArrayND< Numeric, StackLen, StackDim >::strides_.
ArrayND npstat::ArrayND< Numeric, StackLen, StackDim >::outer | ( | const ArrayND< Num2, Len2, Dim2 > & | r | ) | const |
Outer product as a method (see also the outer product constructor)
ArrayND<Numeric,Len,Dim> npstat::ArrayND< Numeric, StackLen, StackDim >::outer | ( | const ArrayND< Num2, Len2, Dim2 > & | r | ) | const |
|
private |
Definition at line 2992 of file ArrayND.h.
References npstat::ArrayND< Numeric, StackLen, StackDim >::data_, npstat::ArrayND< Numeric, StackLen, StackDim >::dim_, i, testEve_cfg::level, and npstat::ArrayND< Numeric, StackLen, StackDim >::strides_.
Referenced by npstat::ArrayND< Numeric, StackLen, StackDim >::ArrayND().
void npstat::ArrayND< Numeric, Len, StackDim >::processSubrange | ( | AbsArrayProjector< Numeric, Num2 > & | f, |
const BoxND< Integer > & | subrange | ||
) | const |
This method runs over a subrange of the array and calls the argument functor on every point. This method will not call "clear" or "result" functions of the argument functor.
Definition at line 2526 of file ArrayND.h.
References npstat::destroyBuffer(), npstat::BoxND< Numeric >::dim(), i, and npstat::makeBuffer().
|
private |
Definition at line 2483 of file ArrayND.h.
References i, testEve_cfg::level, npstat::Interval< Numeric >::max(), npstat::Interval< Numeric >::min(), and npstat::AbsArrayProjector< Input, Result >::process().
void npstat::ArrayND< Numeric, StackLen, StackDim >::project | ( | ArrayND< Num2, Len2, Dim2 > * | projection, |
AbsArrayProjector< Numeric, Num3 > & | projector, | ||
const unsigned * | projectedIndices, | ||
unsigned | nProjectedIndices | ||
) | const |
This method fills a projection. The array to which "projection" argument points should normally be created by the slicing constructor using this array as an argument. "projectedIndices" should be the same as "indices" specified during the slice creation.
Definition at line 2148 of file ArrayND.h.
References assert(), npstat::destroyBuffer(), i, and npstat::makeBuffer().
void npstat::ArrayND< Numeric, StackLen, StackDim >::project | ( | ArrayND< Num2, Len2, Dim2 > * | projection, |
AbsVisitor< Numeric, Num3 > & | projector, | ||
const unsigned * | projectedIndices, | ||
unsigned | nProjectedIndices | ||
) | const |
Definition at line 2285 of file ArrayND.h.
References assert().
|
private |
Definition at line 2005 of file ArrayND.h.
References i, customizeTrackingMonitorSeedNumber::idx, prof2calltree::last, testEve_cfg::level, and npstat::AbsArrayProjector< Input, Result >::process().
|
private |
Definition at line 2211 of file ArrayND.h.
References i, customizeTrackingMonitorSeedNumber::idx, prof2calltree::last, testEve_cfg::level, and npstat::AbsVisitor< Input, Result >::process().
|
private |
Definition at line 2033 of file ArrayND.h.
References assert(), npstat::AbsArrayProjector< Input, Result >::clear(), npstat::ArrayND< Numeric, StackLen, StackDim >::data_, npstat::ArrayND< Numeric, StackLen, StackDim >::dim_, fcn(), i, j, testEve_cfg::level, npstat::ArrayND< Numeric, StackLen, StackDim >::localData_, npstat::AbsArrayProjector< Input, Result >::result(), and npstat::ArrayND< Numeric, StackLen, StackDim >::strides_.
|
private |
Definition at line 2235 of file ArrayND.h.
References assert(), npstat::AbsVisitor< Input, Result >::clear(), npstat::ArrayND< Numeric, StackLen, StackDim >::data_, npstat::ArrayND< Numeric, StackLen, StackDim >::dim_, fcn(), i, j, testEve_cfg::level, npstat::ArrayND< Numeric, StackLen, StackDim >::localData_, npstat::AbsVisitor< Input, Result >::result(), and npstat::ArrayND< Numeric, StackLen, StackDim >::strides_.
|
inline |
The number of array dimensions
Definition at line 240 of file ArrayND.h.
Referenced by npstat::Private::ArrayMapper< Num1, Len1, Dim1, Num2, Len2, Dim2 >::ArrayMapper(), npstat::LinInterpolatedTableND< Numeric, Axis >::invert1DResponse(), npstat::Private::lind_invert1DSlice(), npstat::LinInterpolatedTableND< Numeric, Axis >::read(), and npstat::rescanArray().
|
static |
Definition at line 6052 of file ArrayND.h.
References assert(), npstat::ArrayND< Numeric, StackLen, StackDim >::buildStrides(), cond::rpcobimon::current, npstat::ArrayND< Numeric, StackLen, StackDim >::data_, npstat::ArrayND< Numeric, StackLen, StackDim >::dim_, i, npstat::ArrayND< Numeric, StackLen, StackDim >::len_, npstat::ArrayND< Numeric, StackLen, StackDim >::localData_, npstat::ArrayND< Numeric, StackLen, StackDim >::localShape_, npstat::makeBuffer(), npstat::ArrayND< Numeric, StackLen, StackDim >::shape_, npstat::ArrayND< Numeric, StackLen, StackDim >::shapeIsKnown_, and npstat::ArrayND< Numeric, StackLen, StackDim >::uninitialize().
Referenced by npstat::LinInterpolatedTableND< Numeric, Axis >::read(), and npstat::HistoND< Numeric, Axis >::read().
void npstat::ArrayND< Numeric, Len, Dim >::rotate | ( | const unsigned * | shifts, |
unsigned | lenShifts, | ||
ArrayND< Num2, Len2, Dim2 > * | rotated | ||
) | const |
Rotation. Place the result into another array. The elements with indices 0 in the current array will become elements with indices "shifts" in the rotated array.
Definition at line 5511 of file ArrayND.h.
References assert(), npstat::clearBuffer(), npstat::ArrayND< Numeric, StackLen, StackDim >::dim_, npstat::ArrayND< Numeric, StackLen, StackDim >::localData_, and npstat::ArrayND< Numeric, StackLen, StackDim >::shapeIsKnown_.
|
private |
Definition at line 2333 of file ArrayND.h.
References data, i, customizeTrackingMonitorSeedNumber::idx, and testEve_cfg::level.
|
private |
Definition at line 2357 of file ArrayND.h.
References assert(), npstat::ArrayND< Numeric, StackLen, StackDim >::data_, npstat::ArrayND< Numeric, StackLen, StackDim >::dim_, i, j, testEve_cfg::level, npstat::ArrayND< Numeric, StackLen, StackDim >::localData_, and npstat::ArrayND< Numeric, StackLen, StackDim >::strides_.
ArrayND& npstat::ArrayND< Numeric, StackLen, StackDim >::scanInPlace | ( | Functor | f | ) |
This method applies a single-argument functor to each element of the array. The result returned by the functor is ignored inside the scan. Depending on what the functor does, the array values may or may not be modified (they can be modified if the functor takes its argument via a non-const reference).
ArrayND<Numeric,Len,Dim>& npstat::ArrayND< Numeric, StackLen, StackDim >::scanInPlace | ( | Functor | f | ) |
ArrayND& npstat::ArrayND< Numeric, StackLen, StackDim >::setData | ( | const Num2 * | data, |
unsigned long | dataLength | ||
) |
This method modifies all the data in one statement
|
inline |
Definition at line 2547 of file ArrayND.h.
References npstat::copyBuffer().
|
inline |
|
inline |
ArrayShape npstat::ArrayND< Numeric, StackLen, StackDim >::sliceShape | ( | const unsigned * | fixedIndices, |
unsigned | nFixedIndices | ||
) | const |
|
inline |
Get the number of elements in some particular dimension
Definition at line 5622 of file ArrayND.h.
Referenced by npstat::Private::ArrayMapper< Num1, Len1, Dim1, Num2, Len2, Dim2 >::ArrayMapper().
|
inline |
void npstat::ArrayND< Numeric, StackLen, StackDim >::subtractFromProjection | ( | ArrayND< Num2, Len2, Dim2 > * | projection, |
AbsArrayProjector< Numeric, Num3 > & | projector, | ||
const unsigned * | projectedIndices, | ||
unsigned | nProjectedIndices | ||
) | const |
Definition at line 2190 of file ArrayND.h.
References assert(), npstat::destroyBuffer(), i, and npstat::makeBuffer().
void npstat::ArrayND< Numeric, StackLen, StackDim >::subtractFromProjection | ( | ArrayND< Num2, Len2, Dim2 > * | projection, |
AbsVisitor< Numeric, Num3 > & | projector, | ||
const unsigned * | projectedIndices, | ||
unsigned | nProjectedIndices | ||
) | const |
Definition at line 2317 of file ArrayND.h.
References assert().
Num2 npstat::ArrayND< Numeric, Len, Dim >::sum | ( | ) | const |
Sum of all array elements which uses Num2 type as accumulator. Typically, the precision and dynamic range of Num2 should be suitably larger than the precision and dynamic range of Numeric. For example, if Numeric is float then Num2 should be double, etc.
Definition at line 5123 of file ArrayND.h.
References i.
|
private |
Definition at line 5313 of file ArrayND.h.
References newFWLiteAna::base, i, and testEve_cfg::level.
Num2 npstat::ArrayND< Numeric, Len, Dim >::sumsq | ( | ) | const |
Sum of absolute values squared which uses Num2 as accumulator. Function std::abs(Numeric) must exist.
Definition at line 5135 of file ArrayND.h.
References npstat::absValue(), and i.
ArrayND< Numeric, Len, Dim > npstat::ArrayND< Numeric, Len, Dim >::transpose | ( | unsigned | pos1, |
unsigned | pos2 | ||
) | const |
Transposed array
Definition at line 5425 of file ArrayND.h.
References npstat::copyBuffer(), npstat::destroyBuffer(), npstat::makeBuffer(), query::result, std::swap(), and geometryDiff::transpose().
ArrayND< Numeric, Len, Dim > npstat::ArrayND< Numeric, Len, Dim >::transpose | ( | ) | const |
Transpose without arguments can be invoked for 2-d arrays only
Definition at line 5234 of file ArrayND.h.
References npstat::ArrayND< Numeric, StackLen, StackDim >::data_, i, j, and query::result.
|
private |
Definition at line 5100 of file ArrayND.h.
References npstat::ArrayND< Numeric, StackLen, StackDim >::data_, i, testEve_cfg::level, and npstat::ArrayND< Numeric, StackLen, StackDim >::strides_.
ArrayND< Numeric, Len, Dim > & npstat::ArrayND< Numeric, Len, Dim >::uninitialize | ( | ) |
The function which can "uninitialize" the array to the same state as produced by the default constructor. Can be applied in order to force the assignment operators to work.
Definition at line 4783 of file ArrayND.h.
References npstat::destroyBuffer().
Referenced by npstat::ArrayND< Numeric, StackLen, StackDim >::restore().
|
inline |
Element access using multidimensional array index (no bounds checking). The length of the index array must be equal to the rank of this object.
Definition at line 3281 of file ArrayND.h.
References assert(), i, and customizeTrackingMonitorSeedNumber::idx.
Referenced by average.Average::average(), and npstat::ArrayND< Numeric, StackLen, StackDim >::multiMirror().
|
inline |
Definition at line 3301 of file ArrayND.h.
References assert(), i, and customizeTrackingMonitorSeedNumber::idx.
Referenced by average.Average::average().
|
inline |
Element access using multidimensional array index (with bounds checking)
Definition at line 3431 of file ArrayND.h.
References assert(), i, and customizeTrackingMonitorSeedNumber::idx.
|
inline |
Definition at line 3407 of file ArrayND.h.
References assert(), i, and customizeTrackingMonitorSeedNumber::idx.
|
private |
Definition at line 1849 of file ArrayND.h.
References assert(), i, customizeTrackingMonitorSeedNumber::idx, and j.
|
private |
Definition at line 2097 of file ArrayND.h.
References assert(), npstat::ArrayND< Numeric, StackLen, StackDim >::dim_, i, j, npstat::ArrayND< Numeric, StackLen, StackDim >::shape_, and npstat::ArrayND< Numeric, StackLen, StackDim >::shapeIsKnown_.
|
private |
Definition at line 1790 of file ArrayND.h.
References assert(), npstat::ArrayND< Numeric, StackLen, StackDim >::dim_, i, customizeTrackingMonitorSeedNumber::idx, j, npstat::ArrayND< Numeric, StackLen, StackDim >::shape_, and npstat::ArrayND< Numeric, StackLen, StackDim >::shapeIsKnown_.
|
inlinestatic |
bool npstat::ArrayND< Numeric, StackLen, StackDim >::write | ( | std::ostream & | of | ) | const |
Definition at line 6041 of file ArrayND.h.
|
friend |
|
private |
Definition at line 1049 of file ArrayND.h.
Referenced by npstat::ArrayND< Numeric, StackLen, StackDim >::addmul(), npstat::ArrayND< Numeric, StackLen, StackDim >::ArrayND(), npstat::ArrayND< Numeric, StackLen, StackDim >::assign(), npstat::ArrayND< Numeric, StackLen, StackDim >::cdfArray(), npstat::ArrayND< Numeric, StackLen, StackDim >::circularFlatLoop(), npstat::ArrayND< Numeric, StackLen, StackDim >::commonSubrangeLoop(), npstat::ArrayND< Numeric, StackLen, StackDim >::contractLoop(), npstat::ArrayND< Numeric, StackLen, StackDim >::convertToLastDimCdfLoop(), npstat::ArrayND< Numeric, StackLen, StackDim >::copyRangeLoopFunct(), npstat::ArrayND< Num1, Len1, Dim1 >::data(), npstat::ArrayND< Numeric, StackLen, StackDim >::derivative(), npstat::ArrayND< Numeric, StackLen, StackDim >::dot(), npstat::ArrayND< Numeric, StackLen, StackDim >::dotProductLoop(), npstat::ArrayND< Numeric, StackLen, StackDim >::dualCircularLoop(), npstat::ArrayND< Numeric, StackLen, StackDim >::flatCircularLoop(), npstat::ArrayND< Numeric, StackLen, StackDim >::isClose(), npstat::ArrayND< Numeric, StackLen, StackDim >::jointScan(), npstat::ArrayND< Numeric, StackLen, StackDim >::jointSliceScan(), npstat::ArrayND< Numeric, StackLen, StackDim >::marginalize(), npstat::ArrayND< Numeric, StackLen, StackDim >::marginalizeLoop(), npstat::ArrayND< Numeric, StackLen, StackDim >::maxAbsDifference(), npstat::ArrayND< Numeric, StackLen, StackDim >::operator*(), npstat::ArrayND< Numeric, StackLen, StackDim >::operator+(), npstat::ArrayND< Numeric, StackLen, StackDim >::operator+=(), npstat::ArrayND< Numeric, StackLen, StackDim >::operator-(), npstat::ArrayND< Numeric, StackLen, StackDim >::operator-=(), npstat::ArrayND< Numeric, StackLen, StackDim >::operator/(), npstat::ArrayND< Numeric, StackLen, StackDim >::operator=(), npstat::ArrayND< Numeric, StackLen, StackDim >::operator==(), npstat::ArrayND< Numeric, StackLen, StackDim >::outerProductLoop(), npstat::ArrayND< Numeric, StackLen, StackDim >::projectLoop(), npstat::ArrayND< Numeric, StackLen, StackDim >::projectLoop2(), npstat::ArrayND< Numeric, StackLen, StackDim >::restore(), npstat::ArrayND< Numeric, StackLen, StackDim >::scaleBySliceLoop(), npstat::ArrayND< Numeric, StackLen, StackDim >::transpose(), and npstat::ArrayND< Numeric, StackLen, StackDim >::transposeLoop().
|
private |
Definition at line 1058 of file ArrayND.h.
Referenced by npstat::ArrayND< Numeric, StackLen, StackDim >::applySlice(), npstat::ArrayND< Numeric, StackLen, StackDim >::ArrayND(), npstat::ArrayND< Numeric, StackLen, StackDim >::contractLoop(), npstat::ArrayND< Numeric, StackLen, StackDim >::convertToLastDimCdfLoop(), npstat::ArrayND< Numeric, StackLen, StackDim >::dot(), npstat::ArrayND< Numeric, StackLen, StackDim >::dotProductLoop(), npstat::ArrayND< Numeric, StackLen, StackDim >::exportSubrange(), npstat::ArrayND< Numeric, StackLen, StackDim >::importSubrange(), npstat::ArrayND< Numeric, StackLen, StackDim >::isShapeCompatible(), npstat::ArrayND< Numeric, StackLen, StackDim >::jointSliceScan(), npstat::ArrayND< Numeric, StackLen, StackDim >::marginalize(), npstat::ArrayND< Numeric, StackLen, StackDim >::marginalizeLoop(), npstat::ArrayND< Numeric, StackLen, StackDim >::multiMirror(), npstat::ArrayND< Numeric, StackLen, StackDim >::operator==(), npstat::ArrayND< Numeric, StackLen, StackDim >::outerProductLoop(), npstat::ArrayND< Numeric, StackLen, StackDim >::projectLoop(), npstat::ArrayND< Numeric, StackLen, StackDim >::projectLoop2(), npstat::ArrayND< Num1, Len1, Dim1 >::rank(), npstat::ArrayND< Numeric, StackLen, StackDim >::restore(), npstat::ArrayND< Numeric, StackLen, StackDim >::rotate(), npstat::ArrayND< Numeric, StackLen, StackDim >::scaleBySliceLoop(), npstat::ArrayND< Numeric, StackLen, StackDim >::verifyProjectionCompatibility(), and npstat::ArrayND< Numeric, StackLen, StackDim >::verifySliceCompatibility().
|
private |
Definition at line 1057 of file ArrayND.h.
Referenced by npstat::ArrayND< Numeric, StackLen, StackDim >::ArrayND(), npstat::ArrayND< Numeric, StackLen, StackDim >::isShapeCompatible(), npstat::ArrayND< Num1, Len1, Dim1 >::length(), npstat::ArrayND< Numeric, StackLen, StackDim >::operator==(), and npstat::ArrayND< Numeric, StackLen, StackDim >::restore().
|
private |
Definition at line 1048 of file ArrayND.h.
Referenced by npstat::ArrayND< Numeric, StackLen, StackDim >::applySlice(), npstat::ArrayND< Numeric, StackLen, StackDim >::ArrayND(), npstat::ArrayND< Numeric, StackLen, StackDim >::assign(), npstat::ArrayND< Numeric, StackLen, StackDim >::convertToLastDimCdfLoop(), npstat::ArrayND< Numeric, StackLen, StackDim >::exportSubrange(), npstat::ArrayND< Numeric, StackLen, StackDim >::importSubrange(), npstat::ArrayND< Numeric, StackLen, StackDim >::isClose(), npstat::ArrayND< Numeric, StackLen, StackDim >::jointScan(), npstat::ArrayND< Numeric, StackLen, StackDim >::jointSliceScan(), npstat::ArrayND< Numeric, StackLen, StackDim >::marginalize(), npstat::ArrayND< Numeric, StackLen, StackDim >::marginalizeLoop(), npstat::ArrayND< Numeric, StackLen, StackDim >::maxAbsDifference(), npstat::ArrayND< Numeric, StackLen, StackDim >::multiMirror(), npstat::ArrayND< Numeric, StackLen, StackDim >::operator=(), npstat::ArrayND< Numeric, StackLen, StackDim >::projectLoop(), npstat::ArrayND< Numeric, StackLen, StackDim >::projectLoop2(), npstat::ArrayND< Numeric, StackLen, StackDim >::restore(), npstat::ArrayND< Numeric, StackLen, StackDim >::rotate(), and npstat::ArrayND< Numeric, StackLen, StackDim >::scaleBySliceLoop().
|
private |
Definition at line 1054 of file ArrayND.h.
Referenced by npstat::ArrayND< Numeric, StackLen, StackDim >::ArrayND(), and npstat::ArrayND< Numeric, StackLen, StackDim >::restore().
|
private |
Definition at line 1051 of file ArrayND.h.
Referenced by npstat::ArrayND< Numeric, StackLen, StackDim >::ArrayND().
|
private |
Definition at line 1055 of file ArrayND.h.
Referenced by npstat::ArrayND< Numeric, StackLen, StackDim >::ArrayND(), npstat::ArrayND< Numeric, StackLen, StackDim >::circularFlatLoop(), npstat::ArrayND< Numeric, StackLen, StackDim >::commonSubrangeLoop(), npstat::ArrayND< Numeric, StackLen, StackDim >::contractLoop(), npstat::ArrayND< Numeric, StackLen, StackDim >::dot(), npstat::ArrayND< Numeric, StackLen, StackDim >::dotProductLoop(), npstat::ArrayND< Numeric, StackLen, StackDim >::dualCircularLoop(), npstat::ArrayND< Numeric, StackLen, StackDim >::exportSubrange(), npstat::ArrayND< Numeric, StackLen, StackDim >::flatCircularLoop(), npstat::ArrayND< Numeric, StackLen, StackDim >::importSubrange(), npstat::ArrayND< Numeric, StackLen, StackDim >::isShapeCompatible(), npstat::ArrayND< Numeric, StackLen, StackDim >::marginalize(), npstat::ArrayND< Numeric, StackLen, StackDim >::multiMirror(), npstat::ArrayND< Numeric, StackLen, StackDim >::operator==(), npstat::ArrayND< Numeric, StackLen, StackDim >::restore(), npstat::ArrayND< Num1, Len1, Dim1 >::shapeData(), npstat::ArrayND< Numeric, StackLen, StackDim >::verifyProjectionCompatibility(), and npstat::ArrayND< Numeric, StackLen, StackDim >::verifySliceCompatibility().
|
private |
Definition at line 1060 of file ArrayND.h.
Referenced by npstat::ArrayND< Numeric, StackLen, StackDim >::ArrayND(), npstat::ArrayND< Numeric, StackLen, StackDim >::assign(), npstat::ArrayND< Numeric, StackLen, StackDim >::convertToLastDimCdf(), npstat::ArrayND< Numeric, StackLen, StackDim >::exportSubrange(), npstat::ArrayND< Numeric, StackLen, StackDim >::importSubrange(), npstat::ArrayND< Numeric, StackLen, StackDim >::isShapeCompatible(), npstat::ArrayND< Num1, Len1, Dim1 >::isShapeKnown(), npstat::ArrayND< Numeric, StackLen, StackDim >::multiMirror(), npstat::ArrayND< Numeric, StackLen, StackDim >::operator=(), npstat::ArrayND< Numeric, StackLen, StackDim >::operator==(), npstat::ArrayND< Numeric, StackLen, StackDim >::restore(), npstat::ArrayND< Numeric, StackLen, StackDim >::rotate(), npstat::ArrayND< Numeric, StackLen, StackDim >::verifyProjectionCompatibility(), and npstat::ArrayND< Numeric, StackLen, StackDim >::verifySliceCompatibility().
|
private |
Definition at line 1052 of file ArrayND.h.
Referenced by npstat::ArrayND< Numeric, StackLen, StackDim >::ArrayND(), npstat::ArrayND< Numeric, StackLen, StackDim >::cdfArray(), npstat::ArrayND< Numeric, StackLen, StackDim >::circularFlatLoop(), npstat::ArrayND< Numeric, StackLen, StackDim >::commonSubrangeLoop(), npstat::ArrayND< Numeric, StackLen, StackDim >::contractLoop(), npstat::ArrayND< Numeric, StackLen, StackDim >::convertToLastDimCdfLoop(), npstat::ArrayND< Numeric, StackLen, StackDim >::copyRangeLoopFunct(), npstat::ArrayND< Numeric, StackLen, StackDim >::dotProductLoop(), npstat::ArrayND< Numeric, StackLen, StackDim >::dualCircularLoop(), npstat::ArrayND< Numeric, StackLen, StackDim >::flatCircularLoop(), npstat::ArrayND< Numeric, StackLen, StackDim >::jointSliceScan(), npstat::ArrayND< Numeric, StackLen, StackDim >::marginalizeLoop(), npstat::ArrayND< Numeric, StackLen, StackDim >::operator==(), npstat::ArrayND< Numeric, StackLen, StackDim >::outerProductLoop(), npstat::ArrayND< Numeric, StackLen, StackDim >::projectLoop(), npstat::ArrayND< Numeric, StackLen, StackDim >::projectLoop2(), npstat::ArrayND< Numeric, StackLen, StackDim >::scaleBySliceLoop(), npstat::ArrayND< Num1, Len1, Dim1 >::strides(), and npstat::ArrayND< Numeric, StackLen, StackDim >::transposeLoop().