Base class for 'functor' classes that evaluate a function of one variable. More...
#include <Func1.h>
Base class for 'functor' classes that evaluate a function of one variable.
Public Member Functions | |
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. | |
Protected Attributes | |
double | m_c = 0.0 |
shared_ptr< Func1 > | m_f1 |
shared_ptr< Func1 > | m_f2 |
|
inlinevirtual |
Returns a string describing the type of the function.
Reimplemented in Sin1, Cos1, Exp1, Log1, Pow1, Tabulated1, Const1, Sum1, Diff1, Product1, TimesConstant1, PlusConstant1, Ratio1, Composite1, Gaussian1, Poly13, Fourier1, Arrhenius1, and Periodic1.
string typeName | ( | ) | const |
double operator() | ( | double | t | ) | const |
|
virtual |
Evaluate the function.
Reimplemented in Func1Py, Sin1, Cos1, Exp1, Log1, Pow1, Tabulated1, Const1, Sum1, Diff1, Product1, TimesConstant1, PlusConstant1, Ratio1, Composite1, Gaussian1, Poly13, Fourier1, Arrhenius1, and Periodic1.
|
virtual |
Creates a derivative to the current function.
shared_ptr
. Reimplemented in Sin1, Cos1, Exp1, Log1, Pow1, Tabulated1, Const1, Sum1, Diff1, Product1, TimesConstant1, PlusConstant1, Ratio1, and Composite1.
|
virtual |
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 in Tabulated1, Gaussian1, Poly13, Fourier1, and Arrhenius1.
|
virtual |
Routine to determine if two functions are the same.
|
virtual |
Reimplemented in TimesConstant1.
|
virtual |
Reimplemented in TimesConstant1.
|
virtual |
Write LaTeX string describing function.
Reimplemented in Sin1, Cos1, Exp1, Log1, Pow1, Tabulated1, Const1, Sum1, Diff1, Product1, TimesConstant1, PlusConstant1, Ratio1, Composite1, and Poly13.
double c | ( | ) | const |
|
inline |
|
inline |
|
virtual |
Return the order of the function, if it makes sense.
Reimplemented in Sum1, Diff1, Product1, TimesConstant1, PlusConstant1, Ratio1, and Composite1.