casa  $Rev:20696$
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Public Member Functions
casa::SPolynomial< T > Class Template Reference

A one dimensional scaled polynomial class. More...

#include <SPolynomial.h>

Inheritance diagram for casa::SPolynomial< T >:
casa::SPolynomialParam< T > casa::Function< T > casa::Functional< FunctionTraits< T >::ArgType, T > casa::Functional< Vector< FunctionTraits< T >::ArgType >, T >

List of all members.

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

Detailed Description

template<class T>
class casa::SPolynomial< T >

A one dimensional scaled polynomial class.

Review Status

Test programs:
tSPolynomial

Prerequisite

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

Template Type Argument Requirements (T)

Thrown Exceptions

To Do

Definition at line 84 of file SPolynomial.h.


Constructor & Destructor Documentation

template<class T>
casa::SPolynomial< T >::SPolynomial ( ) [inline]

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

Definition at line 91 of file SPolynomial.h.

template<class T>
casa::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 94 of file SPolynomial.h.

template<class T>
casa::SPolynomial< T >::SPolynomial ( const SPolynomial< T > &  other) [inline]

Copy constructor/assignment (deep copy)

Definition at line 97 of file SPolynomial.h.

template<class T>
template<class W >
casa::SPolynomial< T >::SPolynomial ( const SPolynomial< W > &  other) [inline]

Definition at line 99 of file SPolynomial.h.

template<class T>
virtual casa::SPolynomial< T >::~SPolynomial ( ) [inline, virtual]

Destructor.

Definition at line 105 of file SPolynomial.h.


Member Function Documentation

template<class T>
virtual Function<T>* casa::SPolynomial< T >::clone ( ) const [inline, virtual]

Return a copy of this object from the heap.

The caller is responsible for deleting the pointer.

Implements casa::Function< T >.

Definition at line 116 of file SPolynomial.h.

template<class T>
virtual Function<typename FunctionTraits<T>::DiffType>* casa::SPolynomial< T >::cloneAD ( ) const [inline, virtual]

Reimplemented from casa::Function< T >.

Definition at line 117 of file SPolynomial.h.

template<class T>
virtual Function<typename FunctionTraits<T>::BaseType>* casa::SPolynomial< T >::cloneNonAD ( ) const [inline, virtual]

Reimplemented from casa::Function< T >.

Definition at line 119 of file SPolynomial.h.

template<class T>
virtual T casa::SPolynomial< T >::eval ( typename Function< T >::FunctionArg  x) const [virtual]

Evaluate the polynomial at x.

template<class T>
SPolynomial<T>& casa::SPolynomial< T >::operator= ( const SPolynomial< T > &  other) [inline]

Definition at line 100 of file SPolynomial.h.


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