1 # ifndef CPPAD_CORE_AD_HPP
2 # define CPPAD_CORE_AD_HPP
52 template <
class VectorAD>
53 friend void Independent(VectorAD &x,
size_t abort_op_index);
56 friend bool Parameter <Base>
58 friend bool Parameter <Base>
60 friend bool Variable <Base>
62 friend bool Variable <Base>
64 friend int Integer <Base>
66 friend AD Var2Par <Base>
74 friend AD azmul <Base>
78 friend bool GreaterThanZero <Base> (
const AD<Base> &x);
79 friend bool GreaterThanOrZero <Base> (
const AD<Base> &x);
80 friend bool LessThanZero <Base> (
const AD<Base> &x);
81 friend bool LessThanOrZero <Base> (
const AD<Base> &x);
82 friend bool abs_geq <Base>
86 friend bool IdenticalPar <Base> (
const AD<Base> &x);
87 friend bool IdenticalZero <Base> (
const AD<Base> &x);
88 friend bool IdenticalOne <Base> (
const AD<Base> &x);
89 friend bool IdenticalEqualPar <Base>
93 friend bool EqualOpSeq <Base>
97 friend bool NearEqual <Base> (
100 friend bool NearEqual <Base> (
101 const Base &x,
const AD<Base> &y,
const Base &r,
const Base &a);
103 friend bool NearEqual <Base> (
104 const AD<Base> &x,
const Base &y,
const Base &r,
const Base &a);
134 friend bool operator < <Base>
136 friend bool operator <= <Base>
138 friend bool operator > <Base>
140 friend bool operator >= <Base>
142 friend bool operator == <Base>
144 friend bool operator != <Base>
148 friend std::istream&
operator >> <Base>
152 friend std::ostream& operator << <Base>
153 (std::ostream &os,
const AD<Base> &x);
154 friend void PrintFor <Base> (
173 # ifdef CPPAD_FOR_TMB
176 inline AD(
const double &d);
179 inline AD(
const Base &b);
186 template <
class T>
inline explicit AD(
const T &t);
189 friend Base Value <Base> (
const AD<Base> &x);
201 template <
class T>
inline AD&
operator=(
const T &right);
229 # if CPPAD_USE_CPLUSPLUS_2011
252 bool FunName(
const Base &x),
256 bool FunName(
const Base &x,
const Base &y),
AD & operator-=(const AD &right)
friend bool Parameter(const AD< Base > &u)
static tape_id_t * tape_id_ptr(size_t thread)
Pointer to the tape identifier for this AD<Base> class and the specific thread.
Class used to hold function objects.
Routines that Link AD<Base> and local::ADTape<Base> Objects.
CPPAD_TAPE_ADDR_TYPE addr_t
AD & operator*=(const AD &right)
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...
friend bool Variable(const AD< Base > &u)
Defines the OpCode enum type and functions related to it.
friend void Independent(VectorAD &x, size_t abort_op_index)
Declaration of independent variables.
friend void parallel_ad(void)
Enable parallel execution mode with AD<Base> by initializing static variables that my be used...
File used to define the recorder class.
AD & operator/=(const AD &right)
static local::ADTape< Base > * tape_manage(tape_manage_job job)
Create and delete tapes that record AD<Base> operations for current thread.
AD & operator=(const Base &b)
Assignment to Base type value.
static local::ADTape< Base > ** tape_handle(size_t thread)
Handle for the tape for this AD<Base> class and the specific thread.
Check and AD values ordering properties relative to zero.
AD(void)
Default Constructor.
void make_parameter(void)
static local::ADTape< Base > * tape_ptr(void)
Pointer for the tape for this AD<Base> class and the current thread.
AD & operator+=(const AD &right)
#define CPPAD_ASSERT_UNKNOWN(exp)
Check that exp is true, if not terminate execution.
Check if certain properties is true for any possible AD tape play back.
File used to define the player class.
static void abort_recording(void)
static tape_id_t ** tape_id_handle(size_t thread)
Handle to the tape identifier for this AD<Base> class and the specific thread.
Class used to hold a reference to an element of a VecAD object.
Class used to hold tape that records AD<Base> operations.
Vector of AD objects that tracks indexing operations on the tape.
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.
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)
CPPAD_TAPE_ID_TYPE tape_id_t