CppAD: A C++ Algorithmic Differentiation Package 20110419
AD< Base > Class Template Reference

List of all members.

Public Types

typedef Base value_type

Public Member Functions

 AD (void)
 AD (const Base &b)
ADoperator= (const Base &b)
 AD (const VecAD_reference< Base > &x)
ADoperator= (const VecAD_reference< Base > &x)
template<class T >
 AD (const T &t)
template<class T >
ADoperator= (const T &right)
ADoperator+= (const AD &right)
ADoperator-= (const AD &right)
ADoperator*= (const AD &right)
ADoperator/= (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 log (void) const
AD sin (void) const
AD sinh (void) const
AD sqrt (void) const

Static Public Member Functions

static void abort_recording (void)
static size_t 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 size_t * id_handle (size_t thread)
 Get the identifier for the tape that records AD<Base> operations for the specified thread.
static ADTape< Base > ** tape_handle (size_t thread)
 Get a handle to the tape that records AD<Base> operations for the specified thread.
static size_t tape_new (void)
 Create a new tape that records AD<Base> operations for current thread.
static void tape_delete (size_t id)
 Delete the tape, and advance the id number, corresponding to AD<Base> operations for the current thread.
static ADTape< Base > * tape_ptr (void)
 Get a pointer to tape that records AD<Base> operations for the current thread.
static ADTape< Base > * tape_ptr (size_t id)
 Get a pointer to tape that records AD<Base> operations for the current thread.

Private Attributes

Base value_
size_t id_
size_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 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 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::ostream & operator (std::ostream &os, const AD< Base > &x)
void PrintFor (const char *text, const AD< Base > &x)
Base Value (const AD< Base > &x)

Detailed Description

template<class Base>
class AD< Base >

Definition at line 29 of file ad.hpp.


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