CppAD: A C++ Algorithmic Differentiation Package  20171217
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
CppAD::AD< Base > Class Template Reference

Public Types

typedef Base value_type
 

Public Member Functions

AD abs_me (void) const
 
AD acos_me (void) const
 
AD acosh_me (void) const
 
 AD (void)
 Default Constructor. More...
 
 AD (const Base &b)
 Constructor from Base type. More...
 
 AD (const VecAD_reference< Base > &x)
 Constructor from an ADVec<Base> element drops the vector information. More...
 
template<class T >
 AD (const T &t)
 Constructor from any other type, converts to Base type, and uses constructor from Base type. More...
 
AD asin_me (void) const
 
AD asinh_me (void) const
 
AD atan_me (void) const
 
AD atanh_me (void) const
 
AD cos_me (void) const
 
AD cosh_me (void) const
 
AD erf_me (void) const
 
AD exp_me (void) const
 
AD expm1_me (void) const
 
AD fabs_me (void) const
 
AD log1p_me (void) const
 
AD log_me (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)
 
template<class T >
AD< Base > & operator= (const T &t)
 Assignment from any other type, converts to Base type, and then uses assignment from Base type. More...
 
ADoperator= (const Base &b)
 Assignment to Base type value. More...
 
ADoperator= (const VecAD_reference< Base > &x)
 Assignment to an ADVec<Base> element drops the vector information. More...
 
template<class T >
ADoperator= (const T &right)
 
AD sign_me (void) const
 
AD sin_me (void) const
 
AD sinh_me (void) const
 
AD sqrt_me (void) const
 
AD tan_me (void) const
 
AD tanh_me (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. More...
 
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. More...
 

Private Member Functions

void make_parameter (void)
 
void make_variable (tape_id_t id, addr_t taddr)
 
local::ADTape< Base > * tape_this (void) const
 Get a pointer to tape that records AD<Base> operations for the current thread. More...
 

Static Private Member Functions

static local::ADTape< Base > ** tape_handle (size_t thread)
 Handle for the tape for this AD<Base> class and the specific thread. More...
 
static tape_id_t ** tape_id_handle (size_t thread)
 Handle to the tape identifier for this AD<Base> class and the specific thread. More...
 
static tape_id_ttape_id_ptr (size_t thread)
 Pointer to the tape identifier for this AD<Base> class and the specific thread. More...
 
static local::ADTape< Base > * tape_manage (tape_manage_job job)
 Create and delete tapes that record AD<Base> operations for current thread. More...
 
static local::ADTape< Base > * tape_ptr (void)
 Pointer for the tape for this AD<Base> class and the current thread. More...
 
static local::ADTape< Base > * tape_ptr (tape_id_t tape_id)
 Pointer for the tape for this AD<Base> class and the specified tape identifier. More...
 

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. More...
 
class ADFun< Base >
 
class atomic_base< Base >
 
AD azmul (const AD< Base > &x, const AD< Base > &y)
 
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. More...
 
bool GreaterThanZero (const AD< Base > &x)
 Check if an AD<Base> is greater than zero. More...
 
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. More...
 
bool IdenticalOne (const AD< Base > &x)
 Determine if an AD<Base> is equal to one, and must be equal one during any tape playback. More...
 
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. More...
 
bool IdenticalZero (const AD< Base > &x)
 Determine if an AD<Base> is equal to zero, and must be equal zero during any tape playback. More...
 
template<class VectorAD >
void Independent (VectorAD &x, size_t abort_op_index)
 Declaration of independent variables. More...
 
int Integer (const AD< Base > &u)
 
bool LessThanOrZero (const AD< Base > &x)
 Check if an AD<Base> is less than or equal zero. More...
 
bool LessThanZero (const AD< Base > &x)
 Check if an AD<Base> is less than zero. More...
 
class local::ADTape< Base >
 
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. More...
 
template<class Type >
void parallel_ad (void)
 Enable parallel execution mode with AD<Base> by initializing static variables that my be used. More...
 
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 34 of file ad.hpp.


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