#include <Sacado_CacheFad_GeneralFad.hpp>
Inheritance diagram for Sacado::CacheFad::GeneralFad< T, Storage >:


Public Types | |
| typedef T | value_type |
| Typename of values. | |
Public Member Functions | |
Initialization methods | |
| GeneralFad () | |
| Default constructor. | |
| GeneralFad (const T &x) | |
Constructor with supplied value x. | |
| GeneralFad (const int sz, const T &x) | |
Constructor with size sz and value x. | |
| GeneralFad (const int sz, const int i, const T &x) | |
Constructor with size sz, index i, and value x. | |
| GeneralFad (const GeneralFad &x) | |
| Copy constructor. | |
| template<typename S> | |
| GeneralFad (const Expr< S > &x) | |
| Copy constructor from any Expression object. | |
| ~GeneralFad () | |
| Destructor. | |
| void | diff (const int ith, const int n) |
Set GeneralFad object as the ith independent variable. | |
| void | resize (int sz) |
Resize derivative array to length sz. | |
| void | zero () |
| Zero out the derivative array. | |
Value accessor methods | |
| const T & | val () const |
| Returns value. | |
| T & | val () |
| Returns value. | |
Derivative accessor methods | |
| int | size () const |
| Returns number of derivative components. | |
| bool | hasFastAccess () const |
| Returns true if derivative array is not empty. | |
| bool | isPassive () const |
| Returns true if derivative array is empty. | |
| void | setIsConstant (bool is_const) |
| Set whether variable is constant. | |
| const T * | dx () const |
| Returns derivative array. | |
| T | dx (int i) const |
Returns derivative component i with bounds checking. | |
| T & | fastAccessDx (int i) |
Returns derivative component i without bounds checking. | |
| const T & | fastAccessDx (int i) const |
Returns derivative component i without bounds checking. | |
Assignment operators | |
| GeneralFad & | operator= (const T &val) |
| Assignment operator with constant right-hand-side. | |
| GeneralFad & | operator= (const GeneralFad &x) |
| Assignment with Expr right-hand-side. | |
| template<typename S> | |
| GeneralFad & | operator= (const Expr< S > &x) |
| Assignment operator with any expression right-hand-side. | |
Unary operators | |
| GeneralFad & | operator+= (const T &x) |
| Addition-assignment operator with constant right-hand-side. | |
| GeneralFad & | operator-= (const T &x) |
| Subtraction-assignment operator with constant right-hand-side. | |
| GeneralFad & | operator *= (const T &x) |
| Multiplication-assignment operator with constant right-hand-side. | |
| GeneralFad & | operator/= (const T &x) |
| Division-assignment operator with constant right-hand-side. | |
| template<typename S> | |
| GeneralFad & | operator+= (const Expr< S > &x) |
| Addition-assignment operator with Expr right-hand-side. | |
| template<typename S> | |
| GeneralFad & | operator-= (const Expr< S > &x) |
| Subtraction-assignment operator with Expr right-hand-side. | |
| template<typename S> | |
| GeneralFad & | operator *= (const Expr< S > &x) |
| Multiplication-assignment operator with Expr right-hand-side. | |
| template<typename S> | |
| GeneralFad & | operator/= (const Expr< S > &x) |
| Division-assignment operator with Expr right-hand-side. | |
Protected Attributes | |
| Storage | s_ |
| Value & Derivatives. | |
This class provides a general forward mode AD implementation for any type of derivative array storage. It does not incorporate expression templates.
This version of GeneralFad is virtually identical to Sacado::Fad::GeneralFad, with small differences in the implementations of some of the methods to support caching of "values" of intermediate operations in an expression, recognizing that the "this" object might also be on the right-hand-side of an expression.
| Sacado::CacheFad::GeneralFad< T, Storage >::GeneralFad | ( | const T & | x | ) | [inline] |
Constructor with supplied value x.
Initializes value to x and derivative array is empty
| Sacado::CacheFad::GeneralFad< T, Storage >::GeneralFad | ( | const int | sz, | |
| const T & | x | |||
| ) | [inline] |
Constructor with size sz and value x.
Initializes value to x and derivative array 0 of length sz
| Sacado::CacheFad::GeneralFad< T, Storage >::GeneralFad | ( | const int | sz, | |
| const int | i, | |||
| const T & | x | |||
| ) | [inline] |
Constructor with size sz, index i, and value x.
Initializes value to x and derivative array of length sz as row i of the identity matrix, i.e., sets derivative component i to 1 and all other's to zero.
| void Sacado::CacheFad::GeneralFad< T, Storage >::diff | ( | const int | ith, | |
| const int | n | |||
| ) | [inline] |
Set GeneralFad object as the ith independent variable.
Sets the derivative array of length n to the ith row of the identity matrix and has the same affect as the Implementation(const int sz, const int i, const T & x) constructor.
| void Sacado::CacheFad::GeneralFad< T, Storage >::resize | ( | int | sz | ) | [inline] |
Resize derivative array to length sz.
This method does not (re)initialize the derivative components, so any previous values may be lost. Also any pointers to derivative components may be invalid.
1.4.7