ADOL-C: Automatic Differentiation in C/C++ 2.7.3
Loading...
Searching...
No Matches
Public Member Functions | Friends | List of all members
adtl::adouble Class Reference

Active scalar for tapeless first-order forward differentiation. More...

#include <adtl.h>

Public Member Functions

 adouble ()
 
 adouble (const double v)
 
 adouble (const double v, const double *adv)
 
 adouble (const adouble &a)
 
 ~adouble ()
 
adouble operator- () const
 
adouble operator+ () const
 
adouble operator+ (const double v) const
 
adouble operator+ (const adouble &a) const
 
adouble operator- (const double v) const
 
adouble operator- (const adouble &a) const
 
adouble operator* (const double v) const
 
adouble operator* (const adouble &a) const
 
adouble operator/ (const double v) const
 
adouble operator/ (const adouble &a) const
 
adouble operator++ ()
 
adouble operator++ (int)
 
adouble operator-- ()
 
adouble operator-- (int)
 
adouble & operator= (const double v)
 
adouble & operator= (const adouble &a)
 
adouble & operator+= (const double v)
 
adouble & operator+= (const adouble &a)
 
adouble & operator-= (const double v)
 
adouble & operator-= (const adouble &a)
 
adouble & operator*= (const double v)
 
adouble & operator*= (const adouble &a)
 
adouble & operator/= (const double v)
 
adouble & operator/= (const adouble &a)
 
bool operator! () const
 
bool operator!= (const adouble &) const
 
bool operator!= (const double) const
 
bool operator== (const adouble &) const
 
bool operator== (const double) const
 
bool operator<= (const adouble &) const
 
bool operator<= (const double) const
 
bool operator>= (const adouble &) const
 
bool operator>= (const double) const
 
bool operator> (const adouble &) const
 
bool operator> (const double) const
 
bool operator< (const adouble &) const
 
bool operator< (const double) const
 
double getValue () const
 
void setValue (const double v)
 
double * getADValue () const
 
void setADValue (const double *v)
 
double getADValue (size_t p) const
 
void setADValue (size_t p, double v)
 
 operator double const & () const
 
 operator double && ()
 
 operator double ()
 

Friends

ADOLC_API friend adouble operator+ (const double v, const adouble &a)
 
ADOLC_API friend adouble operator- (const double v, const adouble &a)
 
ADOLC_API friend adouble operator* (const double v, const adouble &a)
 
ADOLC_API friend adouble operator/ (const double v, const adouble &a)
 
ADOLC_API friend adouble tan (const adouble &a)
 
ADOLC_API friend adouble exp (const adouble &a)
 
ADOLC_API friend adouble log (const adouble &a)
 
ADOLC_API friend adouble sqrt (const adouble &a)
 
ADOLC_API friend adouble cbrt (const adouble &a)
 
ADOLC_API friend adouble sin (const adouble &a)
 
ADOLC_API friend adouble cos (const adouble &a)
 
ADOLC_API friend adouble asin (const adouble &a)
 
ADOLC_API friend adouble acos (const adouble &a)
 
ADOLC_API friend adouble atan (const adouble &a)
 
ADOLC_API friend adouble atan2 (const adouble &a, const adouble &b)
 
ADOLC_API friend adouble pow (const adouble &a, double v)
 
ADOLC_API friend adouble pow (const adouble &a, const adouble &b)
 
ADOLC_API friend adouble pow (double v, const adouble &a)
 
ADOLC_API friend adouble log10 (const adouble &a)
 
ADOLC_API friend adouble sinh (const adouble &a)
 
ADOLC_API friend adouble cosh (const adouble &a)
 
ADOLC_API friend adouble tanh (const adouble &a)
 
ADOLC_API friend adouble asinh (const adouble &a)
 
ADOLC_API friend adouble acosh (const adouble &a)
 
ADOLC_API friend adouble atanh (const adouble &a)
 
ADOLC_API friend adouble fabs (const adouble &a)
 
ADOLC_API friend adouble ceil (const adouble &a)
 
ADOLC_API friend adouble floor (const adouble &a)
 
ADOLC_API friend adouble fmax (const adouble &a, const adouble &b)
 
ADOLC_API friend adouble fmax (double v, const adouble &a)
 
ADOLC_API friend adouble fmax (const adouble &a, double v)
 
ADOLC_API friend adouble fmin (const adouble &a, const adouble &b)
 
ADOLC_API friend adouble fmin (double v, const adouble &a)
 
ADOLC_API friend adouble fmin (const adouble &a, double v)
 
ADOLC_API friend adouble ldexp (const adouble &a, const adouble &b)
 
ADOLC_API friend adouble ldexp (const adouble &a, const double v)
 
ADOLC_API friend adouble ldexp (const double v, const adouble &a)
 
ADOLC_API friend double frexp (const adouble &a, int *v)
 
ADOLC_API friend adouble erf (const adouble &a)
 
ADOLC_API friend adouble erfc (const adouble &a)
 
ADOLC_API friend void condassign (adouble &res, const adouble &cond, const adouble &arg1, const adouble &arg2)
 
ADOLC_API friend void condassign (adouble &res, const adouble &cond, const adouble &arg)
 
ADOLC_API friend void condeqassign (adouble &res, const adouble &cond, const adouble &arg1, const adouble &arg2)
 
ADOLC_API friend void condeqassign (adouble &res, const adouble &cond, const adouble &arg)
 
ADOLC_API friend bool operator!= (const double, const adouble &)
 
ADOLC_API friend bool operator== (const double, const adouble &)
 
ADOLC_API friend bool operator<= (const double, const adouble &)
 
ADOLC_API friend bool operator>= (const double, const adouble &)
 
ADOLC_API friend bool operator> (const double, const adouble &)
 
ADOLC_API friend bool operator< (const double, const adouble &)
 
ostream & operator<< (ostream &, const adouble &)
 
istream & operator>> (istream &, adouble &)
 
ADOLC_API friend void setNumDir (const size_t p)
 
ADOLC_API friend size_t getNumDir ()
 

Detailed Description

Active scalar for tapeless first-order forward differentiation.

adtl::adouble stores a primal value together with the directional derivatives configured by adtl::setNumDir(). Operations propagate those derivatives immediately; no tape is recorded and no later sweep is needed.

Use the taped adouble type instead when reverse mode, higher-order tape sweeps, or repeated evaluation of a recorded function is required.

Constructor & Destructor Documentation

◆ adouble() [1/4]

adouble::adouble ( )
inline

◆ adouble() [2/4]

adouble::adouble ( const double  v)
inline

◆ adouble() [3/4]

adouble::adouble ( const double  v,
const double *  adv 
)
inline

◆ adouble() [4/4]

adouble::adouble ( const adouble &  a)
inline

◆ ~adouble()

adouble::~adouble ( )
inline

Member Function Documentation

◆ getADValue() [1/2]

double * adouble::getADValue ( ) const
inline

◆ getADValue() [2/2]

double adouble::getADValue ( size_t  p) const
inline

◆ getValue()

double adouble::getValue ( ) const
inline

◆ operator double()

adouble::operator double ( )
inlineexplicit

◆ operator double &&()

adouble::operator double && ( )
inlineexplicit

◆ operator double const &()

adouble::operator double const & ( ) const
inlineexplicit

◆ operator!()

bool adouble::operator! ( ) const
inline

◆ operator!=() [1/2]

bool adouble::operator!= ( const adouble &  a) const
inline

◆ operator!=() [2/2]

bool adouble::operator!= ( const double  v) const
inline

◆ operator*() [1/2]

adouble adouble::operator* ( const adouble &  a) const
inline

◆ operator*() [2/2]

adouble adouble::operator* ( const double  v) const
inline

◆ operator*=() [1/2]

adouble & adouble::operator*= ( const adouble &  a)
inline

◆ operator*=() [2/2]

adouble & adouble::operator*= ( const double  v)
inline

◆ operator+() [1/3]

adouble adouble::operator+ ( ) const
inline

◆ operator+() [2/3]

adouble adouble::operator+ ( const adouble &  a) const
inline

◆ operator+() [3/3]

adouble adouble::operator+ ( const double  v) const
inline

◆ operator++() [1/2]

adouble adouble::operator++ ( )
inline

◆ operator++() [2/2]

adouble adouble::operator++ ( int  )
inline

◆ operator+=() [1/2]

adouble & adouble::operator+= ( const adouble &  a)
inline

◆ operator+=() [2/2]

adouble & adouble::operator+= ( const double  v)
inline

◆ operator-() [1/3]

adouble adouble::operator- ( ) const
inline

◆ operator-() [2/3]

adouble adouble::operator- ( const adouble &  a) const
inline

◆ operator-() [3/3]

adouble adouble::operator- ( const double  v) const
inline

◆ operator--() [1/2]

adouble adouble::operator-- ( )
inline

◆ operator--() [2/2]

adouble adouble::operator-- ( int  )
inline

◆ operator-=() [1/2]

adouble & adouble::operator-= ( const adouble &  a)
inline

◆ operator-=() [2/2]

adouble & adouble::operator-= ( const double  v)
inline

◆ operator/() [1/2]

adouble adouble::operator/ ( const adouble &  a) const
inline

◆ operator/() [2/2]

adouble adouble::operator/ ( const double  v) const
inline

◆ operator/=() [1/2]

adouble & adouble::operator/= ( const adouble &  a)
inline

◆ operator/=() [2/2]

adouble & adouble::operator/= ( const double  v)
inline

◆ operator<() [1/2]

bool adouble::operator< ( const adouble &  a) const
inline

◆ operator<() [2/2]

bool adouble::operator< ( const double  v) const
inline

◆ operator<=() [1/2]

bool adouble::operator<= ( const adouble &  a) const
inline

◆ operator<=() [2/2]

bool adouble::operator<= ( const double  v) const
inline

◆ operator=() [1/2]

adouble & adouble::operator= ( const adouble &  a)
inline

◆ operator=() [2/2]

adouble & adouble::operator= ( const double  v)
inline

◆ operator==() [1/2]

bool adouble::operator== ( const adouble &  a) const
inline

◆ operator==() [2/2]

bool adouble::operator== ( const double  v) const
inline

◆ operator>() [1/2]

bool adouble::operator> ( const adouble &  a) const
inline

◆ operator>() [2/2]

bool adouble::operator> ( const double  v) const
inline

◆ operator>=() [1/2]

bool adouble::operator>= ( const adouble &  a) const
inline

◆ operator>=() [2/2]

bool adouble::operator>= ( const double  v) const
inline

◆ setADValue() [1/2]

void adouble::setADValue ( const double *  v)
inline

◆ setADValue() [2/2]

void adouble::setADValue ( size_t  p,
double  v 
)
inline

◆ setValue()

void adouble::setValue ( const double  v)
inline

Friends And Related Symbol Documentation

◆ acos

ADOLC_API friend adouble acos ( const adouble &  a)
friend

◆ acosh

ADOLC_API friend adouble acosh ( const adouble &  a)
friend

◆ asin

ADOLC_API friend adouble asin ( const adouble &  a)
friend

◆ asinh

ADOLC_API friend adouble asinh ( const adouble &  a)
friend

◆ atan

ADOLC_API friend adouble atan ( const adouble &  a)
friend

◆ atan2

ADOLC_API friend adouble atan2 ( const adouble &  a,
const adouble &  b 
)
friend

◆ atanh

ADOLC_API friend adouble atanh ( const adouble &  a)
friend

◆ cbrt

ADOLC_API friend adouble cbrt ( const adouble &  a)
friend

◆ ceil

ADOLC_API friend adouble ceil ( const adouble &  a)
friend

◆ condassign [1/2]

ADOLC_API friend void condassign ( adouble &  res,
const adouble &  cond,
const adouble &  arg 
)
friend

◆ condassign [2/2]

ADOLC_API friend void condassign ( adouble &  res,
const adouble &  cond,
const adouble &  arg1,
const adouble &  arg2 
)
friend

◆ condeqassign [1/2]

ADOLC_API friend void condeqassign ( adouble &  res,
const adouble &  cond,
const adouble &  arg 
)
friend

◆ condeqassign [2/2]

ADOLC_API friend void condeqassign ( adouble &  res,
const adouble &  cond,
const adouble &  arg1,
const adouble &  arg2 
)
friend

◆ cos

ADOLC_API friend adouble cos ( const adouble &  a)
friend

◆ cosh

ADOLC_API friend adouble cosh ( const adouble &  a)
friend

◆ erf

ADOLC_API friend adouble erf ( const adouble &  a)
friend

◆ erfc

ADOLC_API friend adouble erfc ( const adouble &  a)
friend

◆ exp

ADOLC_API friend adouble exp ( const adouble &  a)
friend

◆ fabs

ADOLC_API friend adouble fabs ( const adouble &  a)
friend

◆ floor

ADOLC_API friend adouble floor ( const adouble &  a)
friend

◆ fmax [1/3]

ADOLC_API friend adouble fmax ( const adouble &  a,
const adouble &  b 
)
friend

◆ fmax [2/3]

ADOLC_API friend adouble fmax ( const adouble &  a,
double  v 
)
friend

◆ fmax [3/3]

ADOLC_API friend adouble fmax ( double  v,
const adouble &  a 
)
friend

◆ fmin [1/3]

ADOLC_API friend adouble fmin ( const adouble &  a,
const adouble &  b 
)
friend

◆ fmin [2/3]

ADOLC_API friend adouble fmin ( const adouble &  a,
double  v 
)
friend

◆ fmin [3/3]

ADOLC_API friend adouble fmin ( double  v,
const adouble &  a 
)
friend

◆ frexp

ADOLC_API friend double frexp ( const adouble &  a,
int *  v 
)
friend

◆ getNumDir

ADOLC_API friend size_t getNumDir ( )
friend

◆ ldexp [1/3]

ADOLC_API friend adouble ldexp ( const adouble &  a,
const adouble &  b 
)
friend

◆ ldexp [2/3]

ADOLC_API friend adouble ldexp ( const adouble &  a,
const double  v 
)
friend

◆ ldexp [3/3]

ADOLC_API friend adouble ldexp ( const double  v,
const adouble &  a 
)
friend

◆ log

ADOLC_API friend adouble log ( const adouble &  a)
friend

◆ log10

ADOLC_API friend adouble log10 ( const adouble &  a)
friend

◆ operator!=

ADOLC_API friend bool operator!= ( const double  v,
const adouble &  a 
)
friend

◆ operator*

ADOLC_API friend adouble operator* ( const double  v,
const adouble &  a 
)
friend

◆ operator+

ADOLC_API friend adouble operator+ ( const double  v,
const adouble &  a 
)
friend

◆ operator-

ADOLC_API friend adouble operator- ( const double  v,
const adouble &  a 
)
friend

◆ operator/

ADOLC_API friend adouble operator/ ( const double  v,
const adouble &  a 
)
friend

◆ operator<

ADOLC_API friend bool operator< ( const double  v,
const adouble &  a 
)
friend

◆ operator<<

ostream & operator<< ( ostream &  ,
const adouble &   
)
friend

◆ operator<=

ADOLC_API friend bool operator<= ( const double  v,
const adouble &  a 
)
friend

◆ operator==

ADOLC_API friend bool operator== ( const double  v,
const adouble &  a 
)
friend

◆ operator>

ADOLC_API friend bool operator> ( const double  v,
const adouble &  a 
)
friend

◆ operator>=

ADOLC_API friend bool operator>= ( const double  v,
const adouble &  a 
)
friend

◆ operator>>

istream & operator>> ( istream &  ,
adouble &   
)
friend

◆ pow [1/3]

ADOLC_API friend adouble pow ( const adouble &  a,
const adouble &  b 
)
friend

◆ pow [2/3]

ADOLC_API friend adouble pow ( const adouble &  a,
double  v 
)
friend

◆ pow [3/3]

ADOLC_API friend adouble pow ( double  v,
const adouble &  a 
)
friend

◆ setNumDir

ADOLC_API friend void setNumDir ( const size_t  p)
friend

◆ sin

ADOLC_API friend adouble sin ( const adouble &  a)
friend

◆ sinh

ADOLC_API friend adouble sinh ( const adouble &  a)
friend

◆ sqrt

ADOLC_API friend adouble sqrt ( const adouble &  a)
friend

◆ tan

ADOLC_API friend adouble tan ( const adouble &  a)
friend

◆ tanh

ADOLC_API friend adouble tanh ( const adouble &  a)
friend

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