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

List of all members.

Public Types

typedef Base value_type

Public Member Functions

AD Abs (void) const
AD acos (void) const
 AD (void)
 Default Constructor.
 AD (const Base &b)
 Constructor from Base type.
 AD (const VecAD_reference< Base > &x)
 Constructor from 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.
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
ADoperator*= (const AD &right)
AD operator+ (void) const
ADoperator+= (const AD &right)
AD operator- (void) const
ADoperator-= (const AD &right)
ADoperator/= (const AD &right)
ADoperator= (const Base &b)
 Assignment to Base type value.
ADoperator= (const VecAD_reference< Base > &x)
 Assignment to an ADVec<Base> element drops the vector information.
template<class T >
ADoperator= (const T &right)
 Assignment from any other type, converts to Base type, and then uses assignment from Base type.
AD Sign (void) const
AD sin (void) const
AD sinh (void) const
AD sqrt (void) const
AD tan (void) const
AD tanh (void) const
 ~AD (void)

Static Public Member Functions

static void abort_recording (void)
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.
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.

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 ADTape< Base > ** tape_handle (size_t thread)
 Handle for the tape for this AD<Base> class and the specific thread.
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_ttape_id_ptr (size_t thread)
 Pointer to the tape identifier 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

addr_t taddr_
tape_id_t tape_id_
Base value_

Friends

bool abs_geq (const AD< Base > &x, const AD< Base > &y)
 Check if absolute value of one AD<Base> is greater or equal another.
class ADFun< Base >
class ADTape< Base >
class atomic_base< Base >
AD< Base > CondExpOp (enum CompareOp cop, const AD< Base > &left, const AD< Base > &right, const AD< Base > &trueCase, const AD< Base > &falseCase)
class discrete< Base >
bool EqualOpSeq (const AD< Base > &u, const AD< Base > &v)
bool GreaterThanOrZero (const AD< Base > &x)
 Check if an AD<Base> is greater than or equal zero.
bool GreaterThanZero (const AD< Base > &x)
 Check if an AD<Base> is greater than zero.
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 IdenticalOne (const AD< Base > &x)
 Determine if an AD<Base> is equal to one, and must be equal one during any tape playback.
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.
template<class VectorAD >
void Independent (VectorAD &x)
int Integer (const AD< Base > &u)
bool LessThanOrZero (const AD< Base > &x)
 Check if an AD<Base> is less than or equal zero.
bool LessThanZero (const AD< Base > &x)
 Check if an AD<Base> is less than zero.
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)
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)
bool 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)
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)
std::istream & operator>> (std::istream &is, AD< Base > &x)
 Read an AD<Base> object from an input stream.
template<class Type >
void parallel_ad (void)
 Enable parallel execution mode with AD<Base> by initializing static variables that my be used.
bool Parameter (const AD< Base > &u)
bool Parameter (const VecAD< Base > &u)
AD pow (const AD< Base > &x, const AD< Base > &y)
void PrintFor (const AD< Base > &flag, const char *before, const AD< Base > &var, const char *after)
Base Value (const AD< Base > &x)
AD Var2Par (const AD< Base > &u)
bool Variable (const AD< Base > &u)
bool Variable (const VecAD< Base > &u)
class VecAD< Base >
class VecAD_reference< Base >

Detailed Description

template<class Base>
class CppAD::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