Public Member Functions | |
| UserDefFunctor (const std::string &name, int domainDim, int rangeDim) | |
| virtual | ~UserDefFunctor () |
| const std::string & | name (int elemIndex) const |
| const std::string & | name () const |
| virtual void | evaluationCallback (int nPoints, int maxDiffOrder, const double **in, double **out) const =0 |
| virtual void | eval0 (const Array< double > &in, double *outVals) const |
| virtual void | eval1 (const Array< double > &in, double *outVals, double *outDerivs) const |
| int | domainDim () const |
| int | rangeDim () const |
| virtual int | maxOrder () const =0 |
| void | reset () const |
Private Attributes | |
| const std::string | name_ |
| Array< string > | elemNames_ |
| const int | domainDim_ |
| const int | rangeDim_ |
UserDefFunctor defines an interface for callbacks used to implement user-defined nonlinear operators in the Sundance Expr system.
Definition at line 69 of file SundanceUserDefFunctor.hpp.
| UserDefFunctor::UserDefFunctor | ( | const std::string & | name, |
| int | domainDim, | ||
| int | rangeDim | ||
| ) |
ctor
Definition at line 55 of file SundanceUserDefFunctor.cpp.
References domainDim_, elemNames_, name_, rangeDim_, and Sundance::toString().
| virtual Sundance::UserDefFunctor::~UserDefFunctor | ( | ) | [inline, virtual] |
Definition at line 76 of file SundanceUserDefFunctor.hpp.
| int Sundance::UserDefFunctor::domainDim | ( | ) | const [inline] |
Definition at line 107 of file SundanceUserDefFunctor.hpp.
References domainDim_.
Referenced by Sundance::PointwiseUserDefFunctor1::eval0(), Sundance::PointwiseUserDefFunctor2::eval0(), Sundance::PointwiseUserDefFunctor2::eval1(), Sundance::PointwiseUserDefFunctor0::evaluationCallback(), Sundance::PointwiseUserDefFunctor1::evaluationCallback(), Sundance::PointwiseUserDefFunctor2::evaluationCallback(), and Sundance::UserDefOpCommonEvaluator::UserDefOpCommonEvaluator().
| void UserDefFunctor::eval0 | ( | const Array< double > & | in, |
| double * | outVals | ||
| ) | const [virtual] |
Definition at line 85 of file SundanceUserDefFunctor.cpp.
References name_.
| void UserDefFunctor::eval1 | ( | const Array< double > & | in, |
| double * | outVals, | ||
| double * | outDerivs | ||
| ) | const [virtual] |
Evaluate the expression and its derivative. The values should be put into the outVals array. The derivatives should be put into the outDerivs array, ordered with the domain index running fastest. That is,
Definition at line 91 of file SundanceUserDefFunctor.cpp.
References name_.
| virtual void Sundance::UserDefFunctor::evaluationCallback | ( | int | nPoints, |
| int | maxDiffOrder, | ||
| const double ** | in, | ||
| double ** | out | ||
| ) | const [pure virtual] |
| virtual int Sundance::UserDefFunctor::maxOrder | ( | ) | const [pure virtual] |
| const std::string& Sundance::UserDefFunctor::name | ( | int | elemIndex | ) | const [inline] |
Definition at line 79 of file SundanceUserDefFunctor.hpp.
References elemNames_.
| const std::string& Sundance::UserDefFunctor::name | ( | ) | const [inline] |
Definition at line 82 of file SundanceUserDefFunctor.hpp.
References name_.
Referenced by Sundance::PointwiseUserDefFunctor0::evaluationCallback(), Sundance::PointwiseUserDefFunctor1::evaluationCallback(), and Sundance::PointwiseUserDefFunctor2::evaluationCallback().
| int Sundance::UserDefFunctor::rangeDim | ( | ) | const [inline] |
Definition at line 110 of file SundanceUserDefFunctor.hpp.
References rangeDim_.
Referenced by Sundance::PointwiseUserDefFunctor1::eval0(), Sundance::PointwiseUserDefFunctor2::eval0(), Sundance::PointwiseUserDefFunctor2::eval1(), Sundance::PointwiseUserDefFunctor0::evaluationCallback(), Sundance::PointwiseUserDefFunctor1::evaluationCallback(), and Sundance::PointwiseUserDefFunctor2::evaluationCallback().
| void Sundance::UserDefFunctor::reset | ( | ) | const |
const int Sundance::UserDefFunctor::domainDim_ [private] |
Definition at line 121 of file SundanceUserDefFunctor.hpp.
Referenced by domainDim(), and UserDefFunctor().
Array<string> Sundance::UserDefFunctor::elemNames_ [private] |
Definition at line 120 of file SundanceUserDefFunctor.hpp.
Referenced by name(), and UserDefFunctor().
const std::string Sundance::UserDefFunctor::name_ [private] |
Definition at line 119 of file SundanceUserDefFunctor.hpp.
Referenced by eval0(), eval1(), name(), and UserDefFunctor().
const int Sundance::UserDefFunctor::rangeDim_ [private] |
Definition at line 122 of file SundanceUserDefFunctor.hpp.
Referenced by rangeDim(), and UserDefFunctor().