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

List of all members.

Public Types

typedef Base value_type

Public Member Functions

 AD (void)
 Default Constructor.
 AD (const Base &b)
 Constructor from Base type.
ADoperator= (const Base &b)
 Assignment to Base type value.
 AD (const VecAD_reference< Base > &x)
 Constructor from an ADVec<Base> element drops the vector information.
ADoperator= (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 >
ADoperator= (const T &right)
 Assignment from any other type, converts to Base type, and then uses assignment from Base type.
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 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)

Detailed Description

template<class Base>
class AD< Base >

Definition at line 35 of file ad.hpp.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines