Sacado Development
Loading...
Searching...
No Matches
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 >:
Collaboration diagram for Sacado::Tay::CacheTaylor< T >:

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< T > base_expr_type
 Typename of base-expressions.
typedef CacheTaylorImplementation< T >::value_type value_type
 Typename of values.
typedef CacheTaylorImplementation< T >::scalar_type scalar_type
 Typename of scalar's (which may be different from value_type).
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)
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.
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.
void allocateCache (unsigned int d) const
 Allocate coefficient cache.
unsigned int degree () const
 Return degree of polynomial.
bool hasFastAccess (unsigned int d) const
 Return if expression has fast access.
value_type coeff (unsigned int i) const
 Return degree i term of expression.
value_type fastAccessCoeff (unsigned int i) const
 Return degree i term of expression.
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.
const T & val () const
 Returns value.
T & val ()
 Returns value.
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.

Additional Inherited Members

void resizeCoeffs (int dnew)
 Resize coefficient array to new size.
int coeff_size () const
Protected Attributes inherited from Sacado::Tay::Expr< CacheTaylorImplementation< T > >
CacheTaylorImplementation< T > expr_
 Expression.
std::valarray< T > coeff_
 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.

Constructor & Destructor Documentation

◆ CacheTaylor() [1/3]

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

Constructor with supplied value x.

Sets the first coefficient to x

◆ CacheTaylor() [2/3]

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.

◆ CacheTaylor() [3/3]

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

Member Function Documentation

◆ operator=()

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.


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