Loading...
Searching...
No Matches
casacore::SPolynomial< T > Class Template Reference
scimath package (libcasa_scimath) » Functionals_module

More...

`#include <SPolynomial.h>`

## Public Member Functions

| SPolynomial ()
| Constructs a zero'th order polynomial, with a coeficcient of 0.0.
| SPolynomial (uInt order)
| Makes a polynomial of the given order, with all coeficcients set to zero, and height, center, width to 1,0,1.
| SPolynomial (const SPolynomial< T > &other)
| Copy constructor/assignment (deep copy).
template<class W>
| SPolynomial (const SPolynomial< W > &other)
SPolynomial< T > & | operator= (const SPolynomial< T > &other)
virtual | ~SPolynomial ()
| Destructor.
virtual T | eval (typename Function< T >::FunctionArg x) const
| Evaluate the polynomial at x.
virtual Function< T > * | clone () const
| Return a copy of this object from the heap.
virtual Function< typename FunctionTraits< T >::DiffType > * | cloneAD () const
virtual Function< typename FunctionTraits< T >::BaseType > * | cloneNonAD () const
Public Member Functions inherited from casacore::SPolynomialParam< T >
| SPolynomialParam ()
| Constructs a zero'th order polynomial, with a coeficcient of 0.0.
| SPolynomialParam (uInt order)
| Makes a polynomial of the given order, with all coeficcients set to zero.
| SPolynomialParam (const SPolynomialParam< T > &other)
| Make this a copy of other (deep copy).
template<class W>
| SPolynomialParam (const SPolynomialParam< W > &other)
SPolynomialParam< T > & | operator= (const SPolynomialParam< T > &other)
| ~SPolynomialParam ()
| Destructor.
Bool | operator== (const SPolynomialParam< T > &other) const
| Comparisons.
Bool | operator!= (const SPolynomialParam< T > &other) const
virtual const String & | name () const
| Give name of function.
uInt | order () const
| What is the order of the polynomial, i.e.
T | coefficient (uInt which) const
| What is the which'th coefficient of the polynomial.
Vector< T > | coefficients () const
| Return all the coefficients as a vector.
void | setCoefficient (uInt which, const T value)
| Set the which'th coefficient to value.
void | setCoefficients (const Vector< T > &coefficients)
| Set all the coefficients at once, throw away all existing coefficients.
virtual uInt | ndim () const
| Returns the dimension of function.
Public Member Functions inherited from casacore::Function< T, U >
| Function ()
| Constructors.
| Function (const uInt n)
| Function (const Vector< T > &in)
| Function (const FunctionParam< T > &other)
template<class W, class X>
| Function (const Function< W, X > &other)
virtual | ~Function ()
| Destructor.
uInt | nparameters () const
| Returns the number of parameters.
virtual U | eval (FunctionArg x) const =0
| Evaluate the function object.
T & | operator[] (const uInt n)
| Manipulate the nth parameter (0-based) with no index check.
const T & | operator[] (const uInt n) const
virtual U | operator() () const
| Evaluate this function object at xor at x, y.
virtual U | operator() (const ArgType &x) const
virtual U | operator() (const Vector< ArgType > &x) const
virtual U | operator() (FunctionArg x) const
virtual U | operator() (const ArgType &x, const ArgType &y) const
virtual U | 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.
const Bool & | mask (const uInt n) const
const FunctionParam< T > & | parameters () const
| Return the parameter interface.
FunctionParam< T > & | parameters ()
const Vector< ArgType > & | argp () const
| Get arg_p and parset_p.
Bool | parsetp () const
void | lockParam ()
| Compiler cannot always find the correct 'const' version of parameter access.
void | unlockParam ()
virtual void | setMode (const RecordInterface &mode)
| get/set the function mode.
virtual void | getMode (RecordInterface &mode) const
virtual Bool | hasMode () const
| return True if the implementing function supports a mode.
ostream & | print (ostream &os) const
| Print the function (i.e.
Public Member Functions inherited from casacore::Functional< FunctionTraits< T >::ArgType, T >
virtual | ~Functional ()
| Destructor.
virtual T | operator() (const FunctionTraits< T >::ArgType &x) const=0
| Map a Domain x into a Range y value.
Public Member Functions inherited from casacore::Functional< Vector< FunctionTraits< T >::ArgType >, T >
virtual | ~Functional ()
| Destructor.
virtual T | operator() (const Vector< FunctionTraits< T >::ArgType > &x) const=0
| Map a Domain x into a Range y value.

## Additional Inherited Members

Public Types inherited from casacore::Function< T, U >
typedef FunctionTraits< T >::ArgType | ArgType
typedef const ArgType * | FunctionArg
Protected Attributes inherited from casacore::Function< T, U >
FunctionParam< T > | param_p
| The parameters and masks.
Vector< ArgType > | arg_p
| Aid for non-contiguous argument storage.
Bool | parset_p
| Indicate parameter written.
Bool | locked_p
| Indicate that parameters are expected to be locked from changing.

## Detailed Description

template<class T>
class casacore::SPolynomial< T >

A one dimensional scaled polynomial class

### Review Status

Test programs:
  tSPolynomial

### Prerequisite

- Function

### Synopsis

A SPolynomial<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, plus an additional 3 as height, center, width.

### Example

SPolynomial<Float> pf(3); // Third order polynomial - coeffs 0 by default
pf.setCoefficient(1, 1.0);
pf[5] = 2.0;
pf.setCoefficient(3, 3.0); // 3x^3 + 2x^2 + x
pf(2); // == 34
casacore::SPolynomial::SPolynomial
SPolynomial()
Constructs a zero'th order polynomial, with a coeficcient of 0.0.
Definition SPolynomial.h:89

### Template Type Argument Requirements (T)

- T should have standard numerical operators. Current implementation only tested for real types (and their AutoDiffs).

### Thrown Exceptions

- Assertion in debug mode if attempt is made to address incorrect coefficients

### To Do

- Nothing I know of

Definition at line 82 of file SPolynomial.h.

## Constructor & Destructor Documentation

## SPolynomial() [1/4]

template<class T>

casacore::SPolynomial< T >::SPolynomial | ( |  | ) |

inline

Constructs a zero'th order polynomial, with a coeficcient of 0.0.

Definition at line 89 of file SPolynomial.h.

References casacore::SPolynomialParam< T >::SPolynomialParam().

Referenced by clone(), cloneAD(), cloneNonAD(), operator=(), SPolynomial(), and SPolynomial().

## SPolynomial() [2/4]

template<class T>

casacore::SPolynomial< T >::SPolynomial | ( | uInt | order | ) |

inline explicit

Makes a polynomial of the given order, with all coeficcients set to zero, and height, center, width to 1,0,1.

Definition at line 92 of file SPolynomial.h.

References casacore::SPolynomialParam< T >::order(), and casacore::SPolynomialParam< T >::SPolynomialParam().

## SPolynomial() [3/4]

template<class T>

casacore::SPolynomial< T >::SPolynomial | ( | const SPolynomial< T > & | other | ) |

inline

Copy constructor/assignment (deep copy).

Definition at line 95 of file SPolynomial.h.

References SPolynomial(), and casacore::SPolynomialParam< T >::SPolynomialParam().

## SPolynomial() [4/4]

template<class T>
template<class W>

casacore::SPolynomial< T >::SPolynomial | ( | const SPolynomial< W > & | other | ) |

inline

Definition at line 97 of file SPolynomial.h.

References SPolynomial(), and casacore::SPolynomialParam< T >::SPolynomialParam().

## ~SPolynomial()

template<class T>

virtual casacore::SPolynomial< T >::~SPolynomial | ( |  | ) |

inline virtual

Destructor.

Definition at line 103 of file SPolynomial.h.

## Member Function Documentation

## clone()

template<class T>

virtual Function< T > * casacore::SPolynomial< T >::clone | ( |  | ) | const

inline virtual

Return a copy of this object from the heap.

The caller is responsible for deleting the pointer.

Implements casacore::Function< T, U >.

Definition at line 114 of file SPolynomial.h.

References SPolynomial().

## cloneAD()

template<class T>

virtual Function< typename FunctionTraits< T >::DiffType > * casacore::SPolynomial< T >::cloneAD | ( |  | ) | const

inline virtual

Reimplemented from casacore::Function< T, U >.

Definition at line 115 of file SPolynomial.h.

References SPolynomial().

## cloneNonAD()

template<class T>

virtual Function< typename FunctionTraits< T >::BaseType > * casacore::SPolynomial< T >::cloneNonAD | ( |  | ) | const

inline virtual

Reimplemented from casacore::Function< T, U >.

Definition at line 117 of file SPolynomial.h.

References SPolynomial().

## eval()

template<class T>

virtual T casacore::SPolynomial< T >::eval | ( | typename Function< T >::FunctionArg | x | ) | const

virtual

Evaluate the polynomial at x.

## operator=()

template<class T>

SPolynomial< T > & casacore::SPolynomial< T >::operator= | ( | const SPolynomial< T > & | other | ) |

inline

Definition at line 98 of file SPolynomial.h.

References casacore::SPolynomialParam< T >::operator=(), and SPolynomial().

The documentation for this class was generated from the following file:

- scimath/Functionals/SPolynomial.h