|
casacore
|
A one dimensional polynomial class. More...
#include <Polynomial.h>
Public Member Functions | |
| Polynomial () | |
| Constructs a zero'th order polynomial, with a coeficcient of 0.0. More... | |
| Polynomial (uInt order) | |
| Makes a polynomial of the given order, with all coeficcients set to zero. More... | |
| Polynomial (const Polynomial< T > &other) | |
| Copy constructor/assignment (deep copy) More... | |
| template<class W > | |
| Polynomial (const Polynomial< W > &other) | |
| Polynomial< T > & | operator= (const Polynomial< T > &other) |
| virtual | ~Polynomial () |
| Destructor. More... | |
| virtual T | eval (typename Function1D< T >::FunctionArg x) const |
Evaluate the polynomial at x. More... | |
| Polynomial< T > | derivative () const |
| Return the polynomial which is the derivative of this one. More... | |
| virtual Function< T > * | clone () const |
| Return a copy of this object from the heap. More... | |
| virtual Function< typename FunctionTraits< T >::DiffType > * | cloneAD () const |
| virtual Function< typename FunctionTraits< T >::BaseType > * | cloneNonAD () const |
Public Member Functions inherited from casacore::PolynomialParam< T > | |
| PolynomialParam () | |
| Constructs a zero'th order polynomial, with a coeficcient of 0.0. More... | |
| PolynomialParam (uInt order) | |
| Makes a polynomial of the given order, with all coeficcients set to zero. More... | |
| PolynomialParam (const PolynomialParam< T > &other) | |
| Make this a copy of other (deep copy). More... | |
| template<class W > | |
| PolynomialParam (const PolynomialParam< W > &other) | |
| PolynomialParam< T > & | operator= (const PolynomialParam< T > &other) |
| ~PolynomialParam () | |
| Destructor. More... | |
| Bool | operator== (const PolynomialParam< T > &other) const |
| Comparisons. More... | |
| Bool | operator!= (const PolynomialParam< T > &other) const |
| virtual const String & | name () const |
| Give name of function. More... | |
| uInt | order () const |
| What is the order of the polynomial, i.e. More... | |
| T | coefficient (uInt which) const |
| What is the which'th coefficient of the polynomial. More... | |
| const Vector< T > & | coefficients () const |
| Return all the coefficients as a vector. More... | |
| void | setCoefficient (uInt which, const T value) |
| Set the which'th coefficient to value. More... | |
| void | setCoefficients (const Vector< T > &coefficients) |
| Set all the coefficients at once, throw away all existing coefficients. More... | |
Public Member Functions inherited from casacore::Function1D< T > | |
| Function1D () | |
| Constructors. More... | |
| Function1D (const uInt n) | |
| Function1D (const Vector< T > &in) | |
| Function1D (const FunctionParam< T > &other) | |
| Function1D (const Function1D< W, X > &other) | |
| virtual | ~Function1D () |
| Destructor. More... | |
| virtual uInt | ndim () const |
| Returns the number of dimensions of function. More... | |
Public Member Functions inherited from casacore::Function< T, T > | |
| Function () | |
| Constructors. More... | |
| Function (const uInt n) | |
| Function (const Vector< T > &in) | |
| Function (const FunctionParam< T > &other) | |
| Function (const Function< W, X > &other) | |
| virtual | ~Function () |
| Destructor. More... | |
| uInt | nparameters () const |
| Returns the number of parameters. More... | |
| virtual T | eval (FunctionArg x) const =0 |
| Evaluate the function object. More... | |
| T & | operator[] (const uInt n) |
| Manipulate the nth parameter (0-based) with no index check. More... | |
| const T & | operator[] (const uInt n) const |
| virtual T | operator() () const |
Evaluate this function object at xor at x, y. More... | |
| virtual T | operator() (const ArgType &x) const |
| virtual T | operator() (const Vector< ArgType > &x) const |
| virtual T | operator() (FunctionArg x) const |
| virtual T | operator() (const ArgType &x, const ArgType &y) const |
| virtual T | operator() (const ArgType &x, const ArgType &y, const ArgType &z) const |
| Bool & | mask (const uInt n) |
| Manipulate the mask associated with the nth parameter (e.g. More... | |
| const Bool & | mask (const uInt n) const |
| const FunctionParam< T > & | parameters () const |
| Return the parameter interface. More... | |
| FunctionParam< T > & | parameters () |
| const Vector< ArgType > & | argp () const |
Get arg_p and parset_p. More... | |
| Bool | parsetp () const |
| void | lockParam () |
| Compiler cannot always find the correct 'const' version of parameter access. More... | |
| void | unlockParam () |
| virtual void | setMode (const RecordInterface &mode) |
| get/set the function mode. More... | |
| virtual void | getMode (RecordInterface &mode) const |
| virtual Bool | hasMode () const |
| return True if the implementing function supports a mode. More... | |
| ostream & | print (ostream &os) const |
| Print the function (i.e. More... | |
Public Member Functions inherited from casacore::Functional< FunctionTraits< T >::ArgType, T > | |
| virtual | ~Functional () |
| Destructor. More... | |
| virtual T | operator() (const FunctionTraits< T >::ArgType &x) const =0 |
Map a Domain x into a Range y value. More... | |
Public Member Functions inherited from casacore::Functional< Vector< FunctionTraits< T >::ArgType >, T > | |
| virtual | ~Functional () |
| Destructor. More... | |
| virtual T | operator() (const Vector< FunctionTraits< T >::ArgType > &x) const =0 |
Map a Domain x into a Range y value. More... | |
Additional Inherited Members | |
Public Types inherited from casacore::Function1D< T > | |
| typedef const T * | FunctionArg |
Public Types inherited from casacore::Function< T, T > | |
| typedef FunctionTraits< T > ::ArgType | ArgType |
| typedef const ArgType * | FunctionArg |
Protected Attributes inherited from casacore::Function< T, T > | |
| FunctionParam< T > | param_p |
| The parameters and masks. More... | |
| Vector< ArgType > | arg_p |
| Aid for non-contiguous argument storage. More... | |
| Bool | parset_p |
| Indicate parameter written. More... | |
| Bool | locked_p |
| Indicate that parameters are expected to be locked from changing. More... | |
A one dimensional polynomial class.
A Polynomial<T> contains a set of coefficients; its fundamental operations is evaluating itself at some "x". The number of coefficients is the order of the polynomial plus one, so is the number of available parameters.
Tip: The present implementation merely stores the coefficients in a Block; In the unlikely case that we need to deal with polynomials with many zero coefficients, a more efficient representation would be possible;
Definition at line 90 of file Polynomial.h.
|
inline |
Constructs a zero'th order polynomial, with a coeficcient of 0.0.
Definition at line 96 of file Polynomial.h.
|
inlineexplicit |
Makes a polynomial of the given order, with all coeficcients set to zero.
Definition at line 99 of file Polynomial.h.
|
inline |
Copy constructor/assignment (deep copy)
Definition at line 102 of file Polynomial.h.
|
inline |
Definition at line 104 of file Polynomial.h.
|
inlinevirtual |
Destructor.
Definition at line 110 of file Polynomial.h.
|
inlinevirtual |
Return a copy of this object from the heap.
The caller is responsible for deleting the pointer.
Implements casacore::Function< T, T >.
Definition at line 124 of file Polynomial.h.
|
inlinevirtual |
Reimplemented from casacore::Function< T, T >.
Definition at line 125 of file Polynomial.h.
|
inlinevirtual |
Reimplemented from casacore::Function< T, T >.
Definition at line 127 of file Polynomial.h.
| Polynomial<T> casacore::Polynomial< T >::derivative | ( | ) | const |
Return the polynomial which is the derivative of this one.
e.g., 2+4x+5x^2 –> 0+4+10x .
|
virtual |
Evaluate the polynomial at x.
|
inline |
Definition at line 105 of file Polynomial.h.
1.8.5