Sacado Package Browser (Single Doxygen Collection) Version of the Day
Loading...
Searching...
No Matches
Classes | Public Types | Public Member Functions | List of all members
Sacado::Tay::CacheTaylor< T > Class Template Reference

Forward-mode AD class using dynamic memory allocation. More...

#include <Sacado_Tay_CacheTaylor.hpp>

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

Classes

struct  apply
 Turn CacheTaylor into a meta-function class usable with mpl::apply. More...
 

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 Types inherited from Sacado::Tay::Expr< CacheTaylorImplementation< T > >
typedef CacheTaylor< Tbase_expr_type
 Typename of base-expressions.
 
- Public Types inherited from Sacado::Tay::CacheTaylorImplementation< T >
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

template<typename S >
Sacado::Tay::CacheTaylor< T > & operator= (const Expr< S > &x)
 
template<typename S >
Sacado::Tay::CacheTaylor< T > & operator+= (const S &x)
 
template<typename S >
Sacado::Tay::CacheTaylor< T > & operator-= (const S &x)
 
template<typename S >
Sacado::Tay::CacheTaylor< T > & operator*= (const S &x)
 
template<typename S >
Sacado::Tay::CacheTaylor< T > & operator/= (const S &x)
 
- Public Member Functions inherited from Sacado::Tay::Expr< CacheTaylorImplementation< T > >
 Expr ()
 Default constructor.
 
 Expr (const T &x)
 Constructor with supplied value x.
 
 Expr (int d, const T &x)
 Constructor with degree d and value x.
 
 Expr (const Expr &x)
 Copy constructor.
 
- Public Member Functions inherited from Sacado::Tay::CacheTaylorImplementation< T >
 CacheTaylorImplementation ()
 Default constructor.
 
 CacheTaylorImplementation (const T &x)
 Constructor with supplied value x.
 
 CacheTaylorImplementation (int d, const T &x)
 Constructor with degree d and value x.
 
 CacheTaylorImplementation (const CacheTaylorImplementation &x)
 Copy constructor.
 
 ~CacheTaylorImplementation ()
 Destructor.
 
void resize (int d, bool keep_coeffs)
 Resize polynomial to degree d.
 
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.
 
T coeff (int i)
 Returns degree i term with bounds checking.
 
TfastAccessCoeff (int i)
 Returns degree i term without bounds checking.
 
const TfastAccessCoeff (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.
 
const Tval () const
 Returns value.
 
Tval ()
 Returns value.
 

Initialization methods

 CacheTaylor ()
 Default constructor.
 
 CacheTaylor (const T &x)
 Constructor with supplied value x.
 
 CacheTaylor (const typename dummy< value_type, scalar_type >::type &x)
 Constructor with supplied value x.
 
 CacheTaylor (int d, const T &x)
 Constructor with degree d and value x.
 
 CacheTaylor (const CacheTaylor &x)
 Copy constructor.
 
template<typename S >
 CacheTaylor (const Expr< S > &x)
 Copy constructor from any Expression object.
 
 ~CacheTaylor ()
 Destructor.
 

Assignment operators

CacheTaylor< T > & operator= (const T &v)
 Assignment operator with constant right-hand-side.
 
CacheTaylor< T > & operator= (const typename dummy< value_type, scalar_type >::type &val)
 Assignment operator with constant right-hand-side.
 
CacheTaylor< T > & operator= (const CacheTaylor< T > &x)
 Assignment with CacheTaylor right-hand-side.
 
template<typename S >
CacheTaylor< T > & operator= (const Expr< S > &x)
 Assignment operator with any expression right-hand-side.
 

Unary operators

Expr< UnaryExpr< CacheTaylor< T >, UnaryPlusOp > > operator+ () const
 Unary-plus operator.
 
Expr< UnaryExpr< CacheTaylor< T >, UnaryMinusOp > > operator- () const
 Unary-minus operator.
 
CacheTaylor< T > & operator+= (const T &x)
 Addition-assignment operator with constant right-hand-side.
 
CacheTaylor< T > & operator-= (const T &x)
 Subtraction-assignment operator with constant right-hand-side.
 
CacheTaylor< T > & operator*= (const T &x)
 Multiplication-assignment operator with constant right-hand-side.
 
CacheTaylor< T > & operator/= (const T &x)
 Division-assignment operator with constant right-hand-side.
 
template<typename S >
CacheTaylor< T > & operator+= (const S &x)
 Addition-assignment operator with Taylor right-hand-side.
 
template<typename S >
CacheTaylor< T > & operator-= (const S &x)
 Subtraction-assignment operator with Taylor right-hand-side.
 
template<typename S >
CacheTaylor< T > & operator*= (const S &x)
 Multiplication-assignment operator with Taylor right-hand-side.
 
template<typename S >
CacheTaylor< T > & operator/= (const S &x)
 Division-assignment operator with Taylor right-hand-side.
 

Additional Inherited Members

- Protected Member Functions inherited from Sacado::Tay::CacheTaylorImplementation< T >
void resizeCoeffs (int dnew)
 Resize coefficient array to new size.
 
int coeff_size () const
 
- Protected Attributes inherited from Sacado::Tay::CacheTaylorImplementation< T >
std::valarray< Tcoeff_
 Taylor polynomial coefficients.
 

Detailed Description

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

Forward-mode AD class using dynamic memory allocation.

This class provides the user interface of the Taylor object. Class CacheTaylorImplementation provides the implementation.

Definition at line 228 of file Sacado_Tay_CacheTaylor.hpp.

Member Typedef Documentation

◆ value_type

template<typename T >
typedef T Sacado::Tay::CacheTaylor< T >::value_type

Typename of values.

Definition at line 233 of file Sacado_Tay_CacheTaylor.hpp.

◆ scalar_type

template<typename T >
typedef ScalarType<T>::type Sacado::Tay::CacheTaylor< T >::scalar_type

Typename of scalar's (which may be different from ValueT)

Definition at line 236 of file Sacado_Tay_CacheTaylor.hpp.

Constructor & Destructor Documentation

◆ CacheTaylor() [1/6]

template<typename T >
Sacado::Tay::CacheTaylor< T >::CacheTaylor ( )
inline

Default constructor.

Definition at line 250 of file Sacado_Tay_CacheTaylor.hpp.

◆ CacheTaylor() [2/6]

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

Constructor with supplied value x.

Sets the first coefficient to x

Definition at line 256 of file Sacado_Tay_CacheTaylor.hpp.

◆ CacheTaylor() [3/6]

template<typename T >
Sacado::Tay::CacheTaylor< T >::CacheTaylor ( const typename dummy< value_type, scalar_type >::type & x)
inline

Constructor with supplied value x.

Sets the first coefficient to x. Creates a dummy overload when ValueT and ScalarT are the same type.

Definition at line 263 of file Sacado_Tay_CacheTaylor.hpp.

◆ CacheTaylor() [4/6]

template<typename T >
Sacado::Tay::CacheTaylor< T >::CacheTaylor ( 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

Definition at line 270 of file Sacado_Tay_CacheTaylor.hpp.

◆ CacheTaylor() [5/6]

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

Copy constructor.

Definition at line 274 of file Sacado_Tay_CacheTaylor.hpp.

◆ CacheTaylor() [6/6]

template<typename T >
template<typename S >
Sacado::Tay::CacheTaylor< T >::CacheTaylor ( const Expr< S > & x)
inline

Copy constructor from any Expression object.

Definition at line 32 of file Sacado_Tay_CacheTaylorImp.hpp.

◆ ~CacheTaylor()

template<typename T >
Sacado::Tay::CacheTaylor< T >::~CacheTaylor ( )
inline

Destructor.

Definition at line 282 of file Sacado_Tay_CacheTaylor.hpp.

Member Function Documentation

◆ operator=() [1/5]

template<typename T >
Sacado::Tay::CacheTaylor< T > & Sacado::Tay::CacheTaylor< T >::operator= ( const T & v)
inline

Assignment operator with constant right-hand-side.

Definition at line 53 of file Sacado_Tay_CacheTaylorImp.hpp.

◆ operator=() [2/5]

template<typename T >
CacheTaylor< T > & Sacado::Tay::CacheTaylor< T >::operator= ( const typename dummy< value_type, scalar_type >::type & val)
inline

Assignment operator with constant right-hand-side.

Creates a dummy overload when value_type and scalar_type are the same type.

Definition at line 298 of file Sacado_Tay_CacheTaylor.hpp.

◆ operator=() [3/5]

template<typename T >
Sacado::Tay::CacheTaylor< T > & Sacado::Tay::CacheTaylor< T >::operator= ( const CacheTaylor< T > & x)
inline

Assignment with CacheTaylor right-hand-side.

Definition at line 65 of file Sacado_Tay_CacheTaylorImp.hpp.

◆ operator=() [4/5]

template<typename T >
template<typename S >
CacheTaylor< T > & Sacado::Tay::CacheTaylor< T >::operator= ( const Expr< S > & x)

Assignment operator with any expression right-hand-side.

◆ operator+()

template<typename T >
Expr< UnaryExpr< CacheTaylor< T >, UnaryPlusOp > > Sacado::Tay::CacheTaylor< T >::operator+ ( ) const
inline

Unary-plus operator.

Definition at line 317 of file Sacado_Tay_CacheTaylor.hpp.

◆ operator-()

template<typename T >
Expr< UnaryExpr< CacheTaylor< T >, UnaryMinusOp > > Sacado::Tay::CacheTaylor< T >::operator- ( ) const
inline

Unary-minus operator.

Definition at line 324 of file Sacado_Tay_CacheTaylor.hpp.

◆ operator+=() [1/3]

template<typename T >
Sacado::Tay::CacheTaylor< T > & Sacado::Tay::CacheTaylor< T >::operator+= ( const T & x)
inline

Addition-assignment operator with constant right-hand-side.

Definition at line 108 of file Sacado_Tay_CacheTaylorImp.hpp.

◆ operator-=() [1/3]

template<typename T >
Sacado::Tay::CacheTaylor< T > & Sacado::Tay::CacheTaylor< T >::operator-= ( const T & x)
inline

Subtraction-assignment operator with constant right-hand-side.

Definition at line 117 of file Sacado_Tay_CacheTaylorImp.hpp.

◆ operator*=() [1/3]

template<typename T >
Sacado::Tay::CacheTaylor< T > & Sacado::Tay::CacheTaylor< T >::operator*= ( const T & x)
inline

Multiplication-assignment operator with constant right-hand-side.

Definition at line 126 of file Sacado_Tay_CacheTaylorImp.hpp.

◆ operator/=() [1/3]

template<typename T >
Sacado::Tay::CacheTaylor< T > & Sacado::Tay::CacheTaylor< T >::operator/= ( const T & x)
inline

Division-assignment operator with constant right-hand-side.

Definition at line 135 of file Sacado_Tay_CacheTaylorImp.hpp.

◆ operator+=() [2/3]

template<typename T >
template<typename S >
CacheTaylor< T > & Sacado::Tay::CacheTaylor< T >::operator+= ( const S & x)

Addition-assignment operator with Taylor right-hand-side.

◆ operator-=() [2/3]

template<typename T >
template<typename S >
CacheTaylor< T > & Sacado::Tay::CacheTaylor< T >::operator-= ( const S & x)

Subtraction-assignment operator with Taylor right-hand-side.

◆ operator*=() [2/3]

template<typename T >
template<typename S >
CacheTaylor< T > & Sacado::Tay::CacheTaylor< T >::operator*= ( const S & x)

Multiplication-assignment operator with Taylor right-hand-side.

◆ operator/=() [2/3]

template<typename T >
template<typename S >
CacheTaylor< T > & Sacado::Tay::CacheTaylor< T >::operator/= ( const S & x)

Division-assignment operator with Taylor right-hand-side.

◆ operator=() [5/5]

template<typename T >
template<typename S >
Sacado::Tay::CacheTaylor< T > & Sacado::Tay::CacheTaylor< T >::operator= ( const Expr< S > & x)
inline

Definition at line 77 of file Sacado_Tay_CacheTaylorImp.hpp.

◆ operator+=() [3/3]

template<typename T >
template<typename S >
Sacado::Tay::CacheTaylor< T > & Sacado::Tay::CacheTaylor< T >::operator+= ( const S & x)
inline

Definition at line 145 of file Sacado_Tay_CacheTaylorImp.hpp.

◆ operator-=() [3/3]

template<typename T >
template<typename S >
Sacado::Tay::CacheTaylor< T > & Sacado::Tay::CacheTaylor< T >::operator-= ( const S & x)
inline

Definition at line 171 of file Sacado_Tay_CacheTaylorImp.hpp.

◆ operator*=() [3/3]

template<typename T >
template<typename S >
Sacado::Tay::CacheTaylor< T > & Sacado::Tay::CacheTaylor< T >::operator*= ( const S & x)
inline

Definition at line 197 of file Sacado_Tay_CacheTaylorImp.hpp.

◆ operator/=() [3/3]

template<typename T >
template<typename S >
Sacado::Tay::CacheTaylor< T > & Sacado::Tay::CacheTaylor< T >::operator/= ( const S & x)
inline

Definition at line 247 of file Sacado_Tay_CacheTaylorImp.hpp.


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