#include <MultivariateFunctorScanner.h>
Public Member Functions | |
MultivariateFunctorScanner (const AbsMultivariateFunctor &fcn, const std::vector< IndexMapper > &maps) | |
double | operator() (const unsigned *index, const unsigned indexLen) const |
Private Member Functions | |
MultivariateFunctorScanner () | |
Private Attributes | |
std::vector< double > | buf_ |
unsigned | dim_ |
const AbsMultivariateFunctor & | fcn_ |
const std::vector< IndexMapper > & | mapping_ |
This class adapts an object derived from AbsMultivariateFunctor so that it can be used with ArrayND method "functorFill" and such
Definition at line 27 of file MultivariateFunctorScanner.h.
npstat::MultivariateFunctorScanner< IndexMapper >::MultivariateFunctorScanner | ( | const AbsMultivariateFunctor & | fcn, |
const std::vector< IndexMapper > & | maps | ||
) | [inline] |
A mapper for each coordinate in the "maps" argument will convert the array index into a proper argument for the scanned density.
This functor will NOT make copies of either "fcn" or "maps" parameters. These parameters will be used by reference only (aliased). It is up to the user of this class to ensure proper lifetime of these objects.
Definition at line 40 of file MultivariateFunctorScanner.h.
References npstat::MultivariateFunctorScanner< IndexMapper >::dim_, and npstat::AbsMultivariateFunctor::maxDim().
: fcn_(fcn), mapping_(maps), buf_(fcn.minDim()), dim_(fcn.minDim()) { if (!(dim_ && dim_ == maps.size())) throw npstat::NpstatInvalidArgument( "In npstat::MultivariateFunctorScanner constructor: " "incompatible arguments"); if (dim_ != fcn.maxDim()) throw npstat::NpstatInvalidArgument( "In npstat::MultivariateFunctorScanner constructor: " "functors of variable dimensionality are not supported"); }
npstat::MultivariateFunctorScanner< IndexMapper >::MultivariateFunctorScanner | ( | ) | [private] |
double npstat::MultivariateFunctorScanner< IndexMapper >::operator() | ( | const unsigned * | index, |
const unsigned | indexLen | ||
) | const [inline] |
Calculate the functor value for the given array indices
Definition at line 53 of file MultivariateFunctorScanner.h.
References npstat::MultivariateFunctorScanner< IndexMapper >::buf_, npstat::MultivariateFunctorScanner< IndexMapper >::dim_, npstat::MultivariateFunctorScanner< IndexMapper >::fcn_, i, npstat::MultivariateFunctorScanner< IndexMapper >::mapping_, and x.
std::vector<double> npstat::MultivariateFunctorScanner< IndexMapper >::buf_ [mutable, private] |
Definition at line 71 of file MultivariateFunctorScanner.h.
Referenced by npstat::MultivariateFunctorScanner< IndexMapper >::operator()().
unsigned npstat::MultivariateFunctorScanner< IndexMapper >::dim_ [private] |
Definition at line 72 of file MultivariateFunctorScanner.h.
Referenced by npstat::MultivariateFunctorScanner< IndexMapper >::MultivariateFunctorScanner(), and npstat::MultivariateFunctorScanner< IndexMapper >::operator()().
const AbsMultivariateFunctor& npstat::MultivariateFunctorScanner< IndexMapper >::fcn_ [private] |
Definition at line 69 of file MultivariateFunctorScanner.h.
Referenced by npstat::MultivariateFunctorScanner< IndexMapper >::operator()().
const std::vector<IndexMapper>& npstat::MultivariateFunctorScanner< IndexMapper >::mapping_ [private] |
Definition at line 70 of file MultivariateFunctorScanner.h.
Referenced by npstat::MultivariateFunctorScanner< IndexMapper >::operator()().