Implements a tabulated function.
The functor class is based on tabulated arrays tvals
and fvals
, where tvals
contain independent variables and fvals
are corresponding function values. Depending on configuration, the function is either interpolated linearly between the tabulated points (type "tabulated-linear"
; default), or yields the last tabulated value until a new tabulated time value is reached (type "tabulated-previous"
).
Definition at line 355 of file Func1.h.
|
| Tabulated1 (size_t n, const double *tvals, const double *fvals, const string &method="linear") |
| Constructor.
|
|
| Tabulated1 (const vector< double > ¶ms) |
| Constructor uses \( 2 n \) parameters in the following order: \( [t_0, t_1, \dots, t_{n-1}, f_0, f_1, \dots, f_{n-1}] \).
|
|
void | setMethod (const string &method) |
| Set the interpolation method.
|
|
bool | isIdentical (shared_ptr< Func1 > other) const override |
| Routine to determine if two functions are the same.
|
|
string | write (const string &arg) const override |
| Write LaTeX string describing function.
|
|
string | type () const override |
| Returns a string describing the type of the function.
|
|
double | eval (double t) const override |
| Evaluate the function.
|
|
shared_ptr< Func1 > | derivative () const override |
| Creates a derivative to the current function.
|
|
| Func1 (shared_ptr< Func1 > f1, shared_ptr< Func1 > f2) |
|
| Func1 (shared_ptr< Func1 > f1, double A) |
|
Func1 & | operator= (const Func1 &right)=delete |
|
virtual string | type () const |
| Returns a string describing the type of the function.
|
|
string | typeName () const |
| Returns a string with the class name of the functor.
|
|
double | operator() (double t) const |
| Calls method eval to evaluate the function.
|
|
virtual double | eval (double t) const |
| Evaluate the function.
|
|
virtual shared_ptr< Func1 > | derivative () const |
| Creates a derivative to the current function.
|
|
virtual bool | isIdentical (shared_ptr< Func1 > other) const |
| Routine to determine if two functions are the same.
|
|
virtual bool | isIdentical (Func1 &other) const |
| Routine to determine if two functions are the same.
|
|
virtual double | isProportional (TimesConstant1 &other) |
|
virtual double | isProportional (Func1 &other) |
|
virtual string | write (const string &arg) const |
| Write LaTeX string describing function.
|
|
double | c () const |
| Accessor function for the stored constant m_c.
|
|
shared_ptr< Func1 > | func1_shared () const |
| Accessor function for m_f1.
|
|
shared_ptr< Func1 > | func2_shared () const |
| Accessor function for m_f2.
|
|
virtual int | order () const |
| Return the order of the function, if it makes sense.
|
|
Constructor uses \( 2 n \) parameters in the following order: \( [t_0, t_1, \dots, t_{n-1}, f_0, f_1, \dots, f_{n-1}] \).
Definition at line 337 of file Func1.cpp.
bool isIdentical |
( |
shared_ptr< Func1 > |
other | ) |
const |
|
inlineoverridevirtual |
Routine to determine if two functions are the same.
Two functions are the same if they are the same function. For example, either ID and stored constant are the same, or the m_f1 and m_f2 are identical if they are non-null. Functors of the base class Func1 are by default not identical, as they are used by callback functions that cannot be differentiated. In instances where exact comparisons are not implemented, false
is returned to prevent false positives that could lead to incorrect simplifications of compound functors.
Reimplemented from Func1.
Definition at line 379 of file Func1.h.