Sacado  Development
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Pages
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
Sacado::Tay::CacheTaylorImplementation< T > Class Template Reference

Taylor polynomial class using caching expression templates. More...

#include <Sacado_Tay_CacheTaylor.hpp>

Inheritance diagram for Sacado::Tay::CacheTaylorImplementation< T >:
Inheritance graph
[legend]

Public Types

typedef T value_type
 Typename of values.
 
typedef ScalarType< T >::type scalar_type
 Typename of scalar's (which may be different from ValueT)
 

Public Member Functions

 CacheTaylorImplementation ()
 Default constructor.
 
 CacheTaylorImplementation (const T &x)
 Constructor with supplied value x. More...
 
 CacheTaylorImplementation (int d, const T &x)
 Constructor with degree d and value x. More...
 
 CacheTaylorImplementation (const CacheTaylorImplementation &x)
 Copy constructor.
 
 ~CacheTaylorImplementation ()
 Destructor.
 
void resize (int d, bool keep_coeffs)
 Resize polynomial to degree d. More...
 
Value accessor methods
const T & val () const
 Returns value.
 
T & val ()
 Returns value.
 
Taylor coefficient accessor methods
int degree () const
 Returns degree of polynomial.
 
bool hasFastAccess (int d) const
 Returns true if polynomial has degree >= d.
 
const std::valarray< T > & coeff () const
 Returns Taylor coefficient array.
 
const T coeff (int i) const
 Returns degree i term with bounds checking.
 
coeff (int i)
 Returns degree i term with bounds checking.
 
T & fastAccessCoeff (int i)
 Returns degree i term without bounds checking.
 
const T & fastAccessCoeff (int i) const
 Returns degree i term without bounds checking.
 
void allocateCache (int d) const
 Allocate coefficient cache.
 
template<typename S >
bool isEqualTo (const Expr< S > &x) const
 Returns whether two Taylor objects have the same values.
 

Protected Member Functions

void resizeCoeffs (int dnew)
 Resize coefficient array to new size.
 
int coeff_size () const
 

Protected Attributes

std::valarray< T > coeff_
 Taylor polynomial coefficients.
 

Detailed Description

template<typename T>
class Sacado::Tay::CacheTaylorImplementation< T >

Taylor polynomial class using caching expression templates.

This class provides the implementation of the Taylor object required for expression templating. Class CacheTaylor provides the complete user inteface.

Constructor & Destructor Documentation

template<typename T >
Sacado::Tay::CacheTaylorImplementation< T >::CacheTaylorImplementation ( const T &  x)
inline

Constructor with supplied value x.

Sets the first coefficient to x

template<typename T >
Sacado::Tay::CacheTaylorImplementation< T >::CacheTaylorImplementation ( int  d,
const T &  x 
)
inline

Constructor with degree d and value x.

Initializes first coeffienct to x and of a polynomial of degree d

References Sacado::Tay::CacheTaylorImplementation< T >::coeff_.

Member Function Documentation

template<typename T >
void Sacado::Tay::CacheTaylorImplementation< T >::resize ( int  d,
bool  keep_coeffs 
)
inline

Resize polynomial to degree d.

Coefficients are preserved if keep_coeffs is true, otherwise all coefficients are reset to zero.

References Sacado::Tay::CacheTaylorImplementation< T >::coeff_, and Sacado::Tay::CacheTaylorImplementation< T >::resizeCoeffs().


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