Public Types |
typedef Base | value_type |
Public Member Functions |
| AD (void) |
| Default Constructor.
|
| AD (const Base &b) |
| Constructor from Base type.
|
AD & | operator= (const Base &b) |
| Assignment to Base type value.
|
| AD (const VecAD_reference< Base > &x) |
| Constructor from an ADVec<Base> element drops the vector information.
|
AD & | operator= (const VecAD_reference< Base > &x) |
| Assignment to an ADVec<Base> element drops the vector information.
|
template<class T > |
| AD (const T &t) |
| Constructor from any other type, converts to Base type, and uses constructor from Base type.
|
template<class T > |
AD & | operator= (const T &right) |
| Assignment from any other type, converts to Base type, and then uses assignment from Base type.
|
AD & | operator+= (const AD &right) |
AD & | operator-= (const AD &right) |
AD & | operator*= (const AD &right) |
AD & | operator/= (const AD &right) |
AD | operator+ (void) const |
AD | operator- (void) const |
| ~AD (void) |
AD | Abs (void) const |
AD | acos (void) const |
AD | asin (void) const |
AD | atan (void) const |
AD | cos (void) const |
AD | cosh (void) const |
AD | exp (void) const |
AD | fabs (void) const |
AD | log (void) const |
AD | sin (void) const |
AD | Sign (void) const |
AD | sinh (void) const |
AD | sqrt (void) const |
AD | tan (void) const |
AD | tanh (void) const |
Static Public Member Functions |
static void | abort_recording (void) |
static void | omp_max_thread (size_t number) |
static bool | UnaryBool (bool FunName(const Base &x), const AD< Base > &x) |
| Link a function name, and AD value pair to function call with base argument and bool retrun value.
|
static bool | BinaryBool (bool FunName(const Base &x, const Base &y), const AD< Base > &x, const AD< Base > &y) |
| Link a function name, and two AD values to function call with base arguments and bool retrun value.
|
Private Member Functions |
void | make_parameter (void) |
void | make_variable (size_t id, size_t taddr) |
ADTape< Base > * | tape_this (void) const |
| Get a pointer to tape that records AD<Base> operations for the current thread.
|
Static Private Member Functions |
static tape_id_t ** | tape_id_handle (size_t thread) |
| Handle to the tape identifier for this AD<Base> class and the specific thread.
|
static tape_id_t * | tape_id_ptr (size_t thread) |
| Pointer to the tape identifier for this AD<Base> class and the specific thread.
|
static ADTape< Base > ** | tape_handle (size_t thread) |
| Handle for the tape for this AD<Base> class and the specific thread.
|
static ADTape< Base > * | tape_manage (tape_manage_job job) |
| Create and delete tapes that record AD<Base> operations for current thread.
|
static ADTape< Base > * | tape_ptr (void) |
| Pointer for the tape for this AD<Base> class and the current thread.
|
static ADTape< Base > * | tape_ptr (tape_id_t tape_id) |
| Pointer for the tape for this AD<Base> class and the specified tape identifier.
|
Private Attributes |
Base | value_ |
tape_id_t | tape_id_ |
addr_t | taddr_ |
Friends |
class | ADTape< Base > |
class | ADFun< Base > |
class | discrete< Base > |
class | user_atomic< Base > |
class | VecAD< Base > |
class | VecAD_reference< Base > |
template<class Type > |
void | parallel_ad (void) |
| Enable parallel execution mode with AD<Base> by initializing static variables that my be used.
|
template<class VectorAD > |
void | Independent (VectorAD &x) |
bool | Parameter (const AD< Base > &u) |
bool | Parameter (const VecAD< Base > &u) |
bool | Variable (const AD< Base > &u) |
bool | Variable (const VecAD< Base > &u) |
int | Integer (const AD< Base > &u) |
AD | Var2Par (const AD< Base > &u) |
AD | pow (const AD< Base > &x, const AD< Base > &y) |
bool | GreaterThanZero (const AD< Base > &x) |
| Check if an AD<Base> is greater than zero.
|
bool | GreaterThanOrZero (const AD< Base > &x) |
| Check if an AD<Base> is greater than or equal zero.
|
bool | LessThanZero (const AD< Base > &x) |
| Check if an AD<Base> is less than zero.
|
bool | LessThanOrZero (const AD< Base > &x) |
| Check if an AD<Base> is less than or equal zero.
|
bool | abs_geq (const AD< Base > &x, const AD< Base > &y) |
| Check if absolute value of one AD<Base> is greater or equal another.
|
bool | IdenticalPar (const AD< Base > &x) |
| Determine if an AD<Base> object is a parameter, and could never have a different value during any tape playback.
|
bool | IdenticalZero (const AD< Base > &x) |
| Determine if an AD<Base> is equal to zero, and must be equal zero during any tape playback.
|
bool | IdenticalOne (const AD< Base > &x) |
| Determine if an AD<Base> is equal to one, and must be equal one during any tape playback.
|
bool | IdenticalEqualPar (const AD< Base > &x, const AD< Base > &y) |
| Determine if two AD<Base> objects are equal, and must be equal during any tape playback.
|
bool | EqualOpSeq (const AD< Base > &u, const AD< Base > &v) |
bool | NearEqual (const AD< Base > &x, const AD< Base > &y, const Base &r, const Base &a) |
bool | NearEqual (const Base &x, const AD< Base > &y, const Base &r, const Base &a) |
bool | NearEqual (const AD< Base > &x, const Base &y, const Base &r, const Base &a) |
AD< Base > | CondExpOp (enum CompareOp cop, const AD< Base > &left, const AD< Base > &right, const AD< Base > &trueCase, const AD< Base > &falseCase) |
AD< Base > | operator+ (const AD< Base > &left, const AD< Base > &right) |
AD< Base > | operator- (const AD< Base > &left, const AD< Base > &right) |
AD< Base > | operator* (const AD< Base > &left, const AD< Base > &right) |
AD< Base > | operator/ (const AD< Base > &left, const AD< Base > &right) |
bool | operator (const AD< Base > &left, const AD< Base > &right) |
bool | operator (const AD< Base > &left, const AD< Base > &right) |
bool | operator> (const AD< Base > &left, const AD< Base > &right) |
bool | operator>= (const AD< Base > &left, const AD< Base > &right) |
bool | operator== (const AD< Base > &left, const AD< Base > &right) |
bool | operator!= (const AD< Base > &left, const AD< Base > &right) |
std::istream & | operator>> (std::istream &is, AD< Base > &x) |
| Read an AD<Base> object from an input stream.
|
std::ostream & | operator (std::ostream &os, const AD< Base > &x) |
void | PrintFor (const AD< Base > &flag, const char *before, const AD< Base > &var, const char *after) |
Base | Value (const AD< Base > &x) |
template<class Base>
class AD< Base >
Definition at line 35 of file ad.hpp.