ADOL-C: Automatic Differentiation in C/C++ 2.7.3
Loading...
Searching...
No Matches
Classes | Concepts | Functions
adtb_types.h File Reference
#include <adolc/adolcerror.h>
#include <adolc/adolcexport.h>
#include <adolc/tape_interface.h>
#include <adolc/valuetape/valuetape.h>
#include <cassert>
#include <cmath>
#include <iostream>
#include <limits>
#include <span>
#include <type_traits>
Include dependency graph for adtb_types.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  tape_location< T >
 RAII type for a location in the current tape's value store. More...
 
class  adouble
 Taped active scalar for reusable forward and reverse differentiation. More...
 
class  pdouble
 Mutable passive parameter stored on a recorded tape. More...
 
struct  std
 Numeric limits for taped active scalars. More...
 

Concepts

concept  adouble_or_pdouble
 Concept to check if a type is either adouble or pdouble.
 

Functions

ADOLC_API void operator<<= (std::span< adouble > indeps, std::span< const double > inputs)
 Assigns passive values to a contiguous sequence of adoubles and marks them as independent variables.
 
ADOLC_API void operator>>= (std::span< adouble > deps, std::span< double > outputs)
 Stores a contiguous sequence of adouble values into passive storage and marks them as dependent variables.
 
ADOLC_API std::ostream & operator<< (std::ostream &, const adouble &)
 
ADOLC_API std::istream & operator>> (std::istream &, const adouble &)
 
ADOLC_API adouble operator+ (const adouble &a)
 
ADOLC_API adouble operator+ (adouble &&a)
 
ADOLC_API adouble operator- (const adouble &a)
 
ADOLC_API adouble operator- (adouble &&a)
 
ADOLC_API adouble operator+ (const adouble &a, const adouble &b)
 
ADOLC_API adouble operator+ (adouble &&a, const adouble &b)
 
ADOLC_API adouble operator+ (const adouble &a, adouble &&b)
 
ADOLC_API adouble operator+ (adouble &&a, adouble &&b)
 
ADOLC_API adouble operator+ (const double coval, const adouble &a)
 
ADOLC_API adouble operator+ (const double coval, adouble &&a)
 
adouble operator+ (const adouble &a, const double coval)
 
adouble operator+ (adouble &&a, const double coval)
 
ADOLC_API adouble operator- (const adouble &a, const adouble &b)
 
ADOLC_API adouble operator- (adouble &&a, const adouble &b)
 
ADOLC_API adouble operator- (const adouble &a, adouble &&b)
 
ADOLC_API adouble operator- (adouble &&a, adouble &&b)
 
ADOLC_API adouble operator- (const double coval, const adouble &a)
 
ADOLC_API adouble operator- (const double coval, adouble &&a)
 
ADOLC_API adouble operator- (const adouble &a, const double coval)
 
ADOLC_API adouble operator- (adouble &&a, const double coval)
 
ADOLC_API adouble operator* (const adouble &a, const adouble &b)
 
ADOLC_API adouble operator* (adouble &&a, const adouble &b)
 
ADOLC_API adouble operator* (const adouble &a, adouble &&b)
 
ADOLC_API adouble operator* (adouble &&a, adouble &&b)
 
ADOLC_API adouble operator* (const double coval, const adouble &a)
 
ADOLC_API adouble operator* (const double coval, adouble &&a)
 
ADOLC_API adouble operator* (const adouble &a, const double coval)
 
ADOLC_API adouble operator* (adouble &&a, const double coval)
 
ADOLC_API adouble operator/ (const adouble &a, const adouble &b)
 
ADOLC_API adouble operator/ (adouble &&a, const adouble &b)
 
ADOLC_API adouble operator/ (const adouble &a, adouble &&b)
 
ADOLC_API adouble operator/ (adouble &&a, adouble &&b)
 
ADOLC_API adouble operator/ (const double coval, const adouble &a)
 
ADOLC_API adouble operator/ (const double coval, adouble &&a)
 
ADOLC_API adouble operator/ (const adouble &a, const double coval)
 
ADOLC_API adouble operator/ (adouble &&a, const double coval)
 
ADOLC_API bool operator!= (const adouble &a, const double coval)
 
ADOLC_API bool operator!= (const double coval, const adouble &a)
 
ADOLC_API bool operator== (const double coval, const adouble &a)
 
ADOLC_API bool operator== (const adouble &a, const double coval)
 
ADOLC_API bool operator<= (const double coval, const adouble &a)
 
ADOLC_API bool operator<= (const adouble &a, const double coval)
 
ADOLC_API bool operator>= (const double coval, const adouble &a)
 
ADOLC_API bool operator>= (const adouble &a, const double coval)
 
ADOLC_API bool operator< (const double coval, const adouble &a)
 
ADOLC_API bool operator< (const adouble &a, const double coval)
 
ADOLC_API bool operator> (const double coval, const adouble &a)
 
ADOLC_API bool operator> (const adouble &a, const double coval)
 
ADOLC_API bool operator!= (const adouble &a, const adouble &b)
 
ADOLC_API bool operator== (const adouble &a, const adouble &b)
 
ADOLC_API bool operator<= (const adouble &a, const adouble &b)
 
ADOLC_API bool operator>= (const adouble &a, const adouble &b)
 
ADOLC_API bool operator> (const adouble &a, const adouble &b)
 
ADOLC_API bool operator< (const adouble &a, const adouble &b)
 
ADOLC_API bool isnormal (const adouble &a)
 This is an overload of std::isnormal for adoubles and not traced on the tape. The value of the adouble on the current tape is passed to std::isnormal.
 
ADOLC_API bool isnan (const adouble &a)
 This is an overload of std::isnan for adoubles and not traced on the tape. The value of the adouble on the current tape is passed to std::isnan.
 
ADOLC_API bool isinf (const adouble &a)
 This is an overload of std::isinf for adoubles and not traced on the tape. The value of the adouble on the current tape is passed to std::isinf.
 
ADOLC_API bool isfinite (const adouble &a)
 This is an overload of std::isfinite for adoubles and not traced on the tape. The value of the adouble on the current tape is passed to std::isfinite.
 
ADOLC_API adouble exp (const adouble &a)
 
ADOLC_API adouble exp (adouble &&a)
 
ADOLC_API adouble log (const adouble &a)
 
ADOLC_API adouble log (adouble &&a)
 
ADOLC_API adouble log10 (const adouble &a)
 
ADOLC_API adouble log10 (adouble &&a)
 
ADOLC_API adouble sqrt (const adouble &a)
 
ADOLC_API adouble sqrt (adouble &&a)
 
ADOLC_API adouble cbrt (const adouble &a)
 
ADOLC_API adouble cbrt (adouble &&a)
 
ADOLC_API adouble sin (const adouble &a)
 
ADOLC_API adouble sin (adouble &&a)
 
ADOLC_API adouble cos (const adouble &a)
 
ADOLC_API adouble cos (adouble &&a)
 
ADOLC_API adouble tan (const adouble &a)
 
ADOLC_API adouble tan (adouble &&a)
 
ADOLC_API adouble asin (const adouble &a)
 
ADOLC_API adouble asin (adouble &&a)
 
ADOLC_API adouble acos (const adouble &a)
 
ADOLC_API adouble acos (adouble &&a)
 
ADOLC_API adouble atan (const adouble &a)
 
ADOLC_API adouble atan (adouble &&a)
 
ADOLC_API adouble sinh (const adouble &a)
 
ADOLC_API adouble sinh (adouble &&a)
 
ADOLC_API adouble cosh (const adouble &a)
 
ADOLC_API adouble cosh (adouble &&a)
 
ADOLC_API adouble tanh (const adouble &a)
 
ADOLC_API adouble tanh (adouble &&a)
 
ADOLC_API adouble asinh (const adouble &a)
 
ADOLC_API adouble asinh (adouble &&a)
 
ADOLC_API adouble acosh (const adouble &a)
 
ADOLC_API adouble acosh (adouble &&a)
 
ADOLC_API adouble atanh (const adouble &a)
 
ADOLC_API adouble atanh (adouble &&a)
 
ADOLC_API adouble erf (const adouble &a)
 
ADOLC_API adouble erf (adouble &&a)
 
ADOLC_API adouble erfc (const adouble &a)
 
ADOLC_API adouble erfc (adouble &&a)
 
ADOLC_API adouble ceil (const adouble &a)
 
ADOLC_API adouble ceil (adouble &&a)
 
ADOLC_API adouble floor (const adouble &a)
 
ADOLC_API adouble floor (adouble &&a)
 
ADOLC_API adouble fabs (const adouble &a)
 
ADOLC_API adouble fabs (adouble &&a)
 
ADOLC_API adouble abs (const adouble &a)
 
ADOLC_API adouble abs (adouble &&a)
 
ADOLC_API adouble fmin (const adouble &a, const adouble &b)
 
ADOLC_API adouble fmin (adouble &&a, const adouble &b)
 
ADOLC_API adouble fmin (const adouble &a, adouble &&b)
 
ADOLC_API adouble fmin (adouble &&a, adouble &&b)
 
ADOLC_API adouble fmin (const double coval, const adouble &a)
 
ADOLC_API adouble fmin (const double coval, adouble &&a)
 
ADOLC_API adouble fmin (const adouble &a, const double coval)
 
ADOLC_API adouble fmin (adouble &&a, const double coval)
 
ADOLC_API adouble min (const adouble &a, const adouble &b)
 
ADOLC_API adouble min (adouble &&a, const adouble &b)
 
ADOLC_API adouble min (const adouble &a, adouble &&b)
 
ADOLC_API adouble min (adouble &&a, adouble &&b)
 
ADOLC_API adouble min (const double coval, const adouble &a)
 
ADOLC_API adouble min (const double coval, adouble &&a)
 
ADOLC_API adouble min (const adouble &a, const double coval)
 
ADOLC_API adouble min (adouble &&a, const double coval)
 
ADOLC_API adouble fmax (const adouble &a, const adouble &b)
 
ADOLC_API adouble fmax (adouble &&a, const adouble &b)
 
ADOLC_API adouble fmax (const adouble &a, adouble &&b)
 
ADOLC_API adouble fmax (adouble &&a, adouble &&b)
 
ADOLC_API adouble fmax (const double coval, const adouble &a)
 
ADOLC_API adouble fmax (const double coval, adouble &&a)
 
ADOLC_API adouble fmax (const adouble &a, const double coval)
 
ADOLC_API adouble fmax (adouble &&a, const double coval)
 
ADOLC_API adouble max (const adouble &a, const adouble &b)
 
ADOLC_API adouble max (adouble &&a, const adouble &b)
 
ADOLC_API adouble max (const adouble &a, adouble &&b)
 
ADOLC_API adouble max (adouble &&a, adouble &&b)
 
ADOLC_API adouble max (const double coval, const adouble &a)
 
ADOLC_API adouble max (const double coval, adouble &&a)
 
ADOLC_API adouble max (const adouble &a, const double coval)
 
ADOLC_API adouble max (adouble &&a, const double coval)
 
ADOLC_API adouble ldexp (const adouble &a, const int exp)
 
ADOLC_API adouble ldexp (adouble &&a, const int exp)
 
ADOLC_API adouble frexp (const adouble &a, int *exp)
 
ADOLC_API adouble frexp (adouble &&a, int *exp)
 
ADOLC_API void condassign (adouble &res, const adouble &cond, const adouble &arg1, const adouble &arg2)
 
ADOLC_API void condassign (double &res, const double &cond, const double &arg1, const double &arg2)
 
ADOLC_API void condassign (adouble &res, const adouble &cond, const adouble &arg)
 
ADOLC_API void condassign (double &res, const double &cond, const double &arg)
 
ADOLC_API void condeqassign (adouble &res, const adouble &cond, const adouble &arg1, const adouble &arg2)
 
ADOLC_API void condeqassign (double &res, const double &cond, const double &arg1, const double &arg2)
 
ADOLC_API void condeqassign (double &res, const double &cond, const double &arg)
 
ADOLC_API void condeqassign (adouble &res, const adouble &cond, const adouble &arg)
 
ADOLC_API adouble pow (const adouble &a, const double exp)
 
ADOLC_API adouble pow (adouble &&a, const double exp)
 
ADOLC_API adouble pow (double coval, const adouble &a)
 
ADOLC_API adouble pow (const adouble &a, const adouble &b)
 
ADOLC_API adouble atan2 (const adouble &a, const adouble &b)
 
void ADOLC_API adolc_vec_copy (adouble *const dest, const adouble *const src, size_t size)
 
void ADOLC_API adolc_vec_dot (adouble *const dest, const adouble *const src, size_t size)
 
void ADOLC_API adolc_vec_axpy (adouble *const res, const adouble &a, const adouble *const vec_a, const adouble *const vec_b, size_t size)
 
ADOLC_API adouble operator- (const pdouble &p)
 
ADOLC_API adouble operator+ (const pdouble &p)
 
ADOLC_API adouble operator+ (const pdouble &p, const adouble &a)
 
ADOLC_API adouble operator+ (const adouble &a, const pdouble &p)
 
ADOLC_API adouble operator+ (const pdouble &p, const double coval)
 
ADOLC_API adouble operator+ (const double coval, const pdouble &p)
 
ADOLC_API adouble operator- (const adouble &a, const pdouble &p)
 
ADOLC_API adouble operator- (const pdouble &p, const adouble &a)
 
ADOLC_API adouble operator- (const pdouble &p, const double coval)
 
ADOLC_API adouble operator- (const double coval, const pdouble &p)
 
ADOLC_API adouble operator* (const adouble &a, const pdouble &p)
 
ADOLC_API adouble operator* (const pdouble &p, const adouble &a)
 
ADOLC_API adouble operator* (const pdouble &p, const double coval)
 
ADOLC_API adouble operator* (const double coval, const pdouble &p)
 
ADOLC_API adouble operator/ (const pdouble &p, const adouble &a)
 
ADOLC_API adouble operator/ (const adouble &a, const pdouble &p)
 
ADOLC_API adouble operator/ (const pdouble &p, const double coval)
 
ADOLC_API adouble operator/ (const double coval, const pdouble &p)
 
ADOLC_API bool operator!= (const adouble &a, const pdouble &p)
 
ADOLC_API bool operator!= (const pdouble &p, const adouble &a)
 
ADOLC_API bool operator== (const adouble &a, const pdouble &p)
 
ADOLC_API bool operator== (const pdouble &p, const adouble &a)
 
ADOLC_API bool operator<= (const adouble &a, const pdouble &p)
 
ADOLC_API bool operator<= (const pdouble &p, const adouble &a)
 
ADOLC_API bool operator>= (const adouble &a, const pdouble &p)
 
ADOLC_API bool operator>= (const pdouble &p, const adouble &a)
 
ADOLC_API bool operator> (const adouble &a, const pdouble &p)
 
ADOLC_API bool operator> (const pdouble &p, const adouble &a)
 
ADOLC_API bool operator< (const adouble &a, const pdouble &p)
 
ADOLC_API bool operator< (const pdouble &p, const adouble &a)
 
ADOLC_API bool isnormal (const pdouble &p)
 This is an overload of std::isnormal for pdoubles and not traced on the tape. The value of the pdouble on the current tape is passed to std::isnormal.
 
ADOLC_API bool isnan (const pdouble &p)
 This is an overload of std::isnan for pdoubles and not traced on the tape. The value of the pdouble on the current tape is passed to std::isnan.
 
ADOLC_API bool isinf (const pdouble &p)
 This is an overload of std::isinf for pdoubles and not traced on the tape. The value of the pdouble on the current tape is passed to std::isinf.
 
ADOLC_API bool isfinite (const pdouble &p)
 This is an overload of std::isfinite for pdoubles and not traced on the tape. The value of the pdouble on the current tape is passed to std::isfinite.
 
ADOLC_API adouble exp (const pdouble &p)
 
ADOLC_API adouble log (const pdouble &p)
 
ADOLC_API adouble log10 (const pdouble &p)
 
ADOLC_API adouble sqrt (const pdouble &p)
 
ADOLC_API adouble cbrt (const pdouble &p)
 
ADOLC_API adouble sin (const pdouble &p)
 
ADOLC_API adouble cos (const pdouble &p)
 
ADOLC_API adouble tan (const pdouble &p)
 
ADOLC_API adouble asin (const pdouble &p)
 
ADOLC_API adouble acos (const pdouble &p)
 
ADOLC_API adouble atan (const pdouble &p)
 
ADOLC_API adouble sinh (const pdouble &p)
 
ADOLC_API adouble cosh (const pdouble &p)
 
ADOLC_API adouble tanh (const pdouble &p)
 
ADOLC_API adouble asinh (const pdouble &p)
 
ADOLC_API adouble acosh (const pdouble &p)
 
ADOLC_API adouble atanh (const pdouble &p)
 
ADOLC_API adouble erf (const pdouble &p)
 
ADOLC_API adouble erfc (const pdouble &p)
 
ADOLC_API adouble fabs (const pdouble &p)
 
ADOLC_API adouble abs (const pdouble &p)
 
ADOLC_API adouble ceil (const pdouble &p)
 
ADOLC_API adouble floor (const pdouble &p)
 
ADOLC_API adouble fmin (const adouble &a, const pdouble &p)
 
ADOLC_API adouble fmin (const pdouble &p, const adouble &a)
 
ADOLC_API adouble fmin (const pdouble &p, const pdouble &q)
 
ADOLC_API adouble fmin (const double coval, const pdouble &p)
 
ADOLC_API adouble fmin (const pdouble &p, const double coval)
 
ADOLC_API adouble min (const adouble &a, const pdouble &p)
 
ADOLC_API adouble min (const pdouble &p, const adouble &a)
 
ADOLC_API adouble min (const pdouble &p, const pdouble &q)
 
ADOLC_API adouble min (const double coval, const pdouble &p)
 
ADOLC_API adouble min (const pdouble &p, const double coval)
 
ADOLC_API adouble fmax (const adouble &a, const pdouble &p)
 
ADOLC_API adouble fmax (const pdouble &p, const adouble &a)
 
ADOLC_API adouble fmax (const pdouble &p, const pdouble &q)
 
ADOLC_API adouble fmax (const double coval, const pdouble &p)
 
ADOLC_API adouble fmax (const pdouble &p, const double coval)
 
ADOLC_API adouble max (const adouble &a, const pdouble &p)
 
ADOLC_API adouble max (const pdouble &p, const adouble &a)
 
ADOLC_API adouble max (const pdouble &p, const pdouble &q)
 
ADOLC_API adouble max (const double coval, const pdouble &p)
 
ADOLC_API adouble max (const pdouble &p, const double coval)
 
ADOLC_API adouble ldexp (const pdouble &p, const int exp)
 
ADOLC_API adouble frexp (const pdouble &p, int *exp)
 
ADOLC_API adouble pow (const adouble &a, const pdouble &p)
 
ADOLC_API adouble pow (const pdouble &p, const adouble &a)
 
ADOLC_API adouble pow (const pdouble &p, const double coval)
 
ADOLC_API adouble atan2 (const pdouble &p, const adouble &a)
 
ADOLC_API adouble atan2 (const adouble &a, const pdouble &p)
 
ADOLC_API double myquad (double x)
 

Function Documentation

◆ abs() [1/3]

ADOLC_API adouble abs ( adouble &&  a)
inline

◆ abs() [2/3]

ADOLC_API adouble abs ( const adouble &  a)
inline

◆ abs() [3/3]

ADOLC_API adouble abs ( const pdouble &  p)
inline

◆ acos() [1/3]

ADOLC_API adouble acos ( adouble &&  a)

◆ acos() [2/3]

ADOLC_API adouble acos ( const adouble &  a)

◆ acos() [3/3]

ADOLC_API adouble acos ( const pdouble &  p)
inline

◆ acosh() [1/3]

ADOLC_API adouble acosh ( adouble &&  a)

◆ acosh() [2/3]

ADOLC_API adouble acosh ( const adouble &  a)

◆ acosh() [3/3]

ADOLC_API adouble acosh ( const pdouble &  p)
inline

◆ adolc_vec_axpy()

void ADOLC_API adolc_vec_axpy ( adouble *const  res,
const adouble &  a,
const adouble *const  vec_a,
const adouble *const  vec_b,
size_t  size 
)

◆ adolc_vec_copy()

void ADOLC_API adolc_vec_copy ( adouble *const  dest,
const adouble *const  src,
size_t  size 
)

◆ adolc_vec_dot()

void ADOLC_API adolc_vec_dot ( adouble *const  dest,
const adouble *const  src,
size_t  size 
)

◆ asin() [1/3]

ADOLC_API adouble asin ( adouble &&  a)

◆ asin() [2/3]

ADOLC_API adouble asin ( const adouble &  a)

◆ asin() [3/3]

ADOLC_API adouble asin ( const pdouble &  p)
inline

◆ asinh() [1/3]

ADOLC_API adouble asinh ( adouble &&  a)

◆ asinh() [2/3]

ADOLC_API adouble asinh ( const adouble &  a)

◆ asinh() [3/3]

ADOLC_API adouble asinh ( const pdouble &  p)
inline

◆ atan() [1/3]

ADOLC_API adouble atan ( adouble &&  a)

◆ atan() [2/3]

ADOLC_API adouble atan ( const adouble &  a)

◆ atan() [3/3]

ADOLC_API adouble atan ( const pdouble &  p)
inline

◆ atan2() [1/3]

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

◆ atan2() [2/3]

ADOLC_API adouble atan2 ( const adouble &  a,
const pdouble &  p 
)
inline

◆ atan2() [3/3]

ADOLC_API adouble atan2 ( const pdouble &  p,
const adouble &  a 
)
inline

◆ atanh() [1/3]

ADOLC_API adouble atanh ( adouble &&  a)

◆ atanh() [2/3]

ADOLC_API adouble atanh ( const adouble &  a)

◆ atanh() [3/3]

ADOLC_API adouble atanh ( const pdouble &  p)
inline

◆ cbrt() [1/3]

ADOLC_API adouble cbrt ( adouble &&  a)

◆ cbrt() [2/3]

ADOLC_API adouble cbrt ( const adouble &  a)

◆ cbrt() [3/3]

ADOLC_API adouble cbrt ( const pdouble &  p)
inline

◆ ceil() [1/3]

ADOLC_API adouble ceil ( adouble &&  a)

◆ ceil() [2/3]

ADOLC_API adouble ceil ( const adouble &  a)

◆ ceil() [3/3]

ADOLC_API adouble ceil ( const pdouble &  p)
inline

◆ condassign() [1/4]

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

◆ condassign() [2/4]

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

◆ condassign() [3/4]

ADOLC_API void condassign ( double &  res,
const double &  cond,
const double &  arg 
)
inline

◆ condassign() [4/4]

ADOLC_API void condassign ( double &  res,
const double &  cond,
const double &  arg1,
const double &  arg2 
)
inline

◆ condeqassign() [1/4]

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

◆ condeqassign() [2/4]

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

◆ condeqassign() [3/4]

ADOLC_API void condeqassign ( double &  res,
const double &  cond,
const double &  arg 
)
inline

◆ condeqassign() [4/4]

ADOLC_API void condeqassign ( double &  res,
const double &  cond,
const double &  arg1,
const double &  arg2 
)
inline

◆ cos() [1/3]

ADOLC_API adouble cos ( adouble &&  a)

◆ cos() [2/3]

ADOLC_API adouble cos ( const adouble &  a)

◆ cos() [3/3]

ADOLC_API adouble cos ( const pdouble &  p)
inline

◆ cosh() [1/3]

ADOLC_API adouble cosh ( adouble &&  a)
inline

◆ cosh() [2/3]

ADOLC_API adouble cosh ( const adouble &  a)
inline

◆ cosh() [3/3]

ADOLC_API adouble cosh ( const pdouble &  p)
inline

◆ erf() [1/3]

ADOLC_API adouble erf ( adouble &&  a)

◆ erf() [2/3]

ADOLC_API adouble erf ( const adouble &  a)

◆ erf() [3/3]

ADOLC_API adouble erf ( const pdouble &  p)
inline

◆ erfc() [1/3]

ADOLC_API adouble erfc ( adouble &&  a)

◆ erfc() [2/3]

ADOLC_API adouble erfc ( const adouble &  a)

◆ erfc() [3/3]

ADOLC_API adouble erfc ( const pdouble &  p)
inline

◆ exp() [1/3]

ADOLC_API adouble exp ( adouble &&  a)

◆ exp() [2/3]

ADOLC_API adouble exp ( const adouble &  a)

◆ exp() [3/3]

ADOLC_API adouble exp ( const pdouble &  p)
inline

◆ fabs() [1/3]

ADOLC_API adouble fabs ( adouble &&  a)

◆ fabs() [2/3]

ADOLC_API adouble fabs ( const adouble &  a)

◆ fabs() [3/3]

ADOLC_API adouble fabs ( const pdouble &  p)
inline

◆ floor() [1/3]

ADOLC_API adouble floor ( adouble &&  a)

◆ floor() [2/3]

ADOLC_API adouble floor ( const adouble &  a)

◆ floor() [3/3]

ADOLC_API adouble floor ( const pdouble &  p)
inline

◆ fmax() [1/13]

ADOLC_API adouble fmax ( adouble &&  a,
adouble &&  b 
)
inline

◆ fmax() [2/13]

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

◆ fmax() [3/13]

ADOLC_API adouble fmax ( adouble &&  a,
const double  coval 
)
inline

◆ fmax() [4/13]

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

◆ fmax() [5/13]

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

◆ fmax() [6/13]

ADOLC_API adouble fmax ( const adouble &  a,
const double  coval 
)
inline

◆ fmax() [7/13]

ADOLC_API adouble fmax ( const adouble &  a,
const pdouble &  p 
)
inline

◆ fmax() [8/13]

ADOLC_API adouble fmax ( const double  coval,
adouble &&  a 
)
inline

◆ fmax() [9/13]

ADOLC_API adouble fmax ( const double  coval,
const adouble &  a 
)
inline

◆ fmax() [10/13]

ADOLC_API adouble fmax ( const double  coval,
const pdouble &  p 
)
inline

◆ fmax() [11/13]

ADOLC_API adouble fmax ( const pdouble &  p,
const adouble &  a 
)
inline

◆ fmax() [12/13]

ADOLC_API adouble fmax ( const pdouble &  p,
const double  coval 
)
inline

◆ fmax() [13/13]

ADOLC_API adouble fmax ( const pdouble &  p,
const pdouble &  q 
)
inline

◆ fmin() [1/13]

ADOLC_API adouble fmin ( adouble &&  a,
adouble &&  b 
)
inline

◆ fmin() [2/13]

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

◆ fmin() [3/13]

ADOLC_API adouble fmin ( adouble &&  a,
const double  coval 
)
inline

◆ fmin() [4/13]

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

◆ fmin() [5/13]

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

◆ fmin() [6/13]

ADOLC_API adouble fmin ( const adouble &  a,
const double  coval 
)
inline

◆ fmin() [7/13]

ADOLC_API adouble fmin ( const adouble &  a,
const pdouble &  p 
)
inline

◆ fmin() [8/13]

ADOLC_API adouble fmin ( const double  coval,
adouble &&  a 
)
inline

◆ fmin() [9/13]

ADOLC_API adouble fmin ( const double  coval,
const adouble &  a 
)
inline

◆ fmin() [10/13]

ADOLC_API adouble fmin ( const double  coval,
const pdouble &  p 
)
inline

◆ fmin() [11/13]

ADOLC_API adouble fmin ( const pdouble &  p,
const adouble &  a 
)
inline

◆ fmin() [12/13]

ADOLC_API adouble fmin ( const pdouble &  p,
const double  coval 
)
inline

◆ fmin() [13/13]

ADOLC_API adouble fmin ( const pdouble &  p,
const pdouble &  q 
)
inline

◆ frexp() [1/3]

ADOLC_API adouble frexp ( adouble &&  a,
int *  exp 
)
inline

◆ frexp() [2/3]

ADOLC_API adouble frexp ( const adouble &  a,
int *  exp 
)
inline

◆ frexp() [3/3]

ADOLC_API adouble frexp ( const pdouble &  p,
int *  exp 
)
inline

◆ isfinite() [1/2]

ADOLC_API bool isfinite ( const adouble &  a)
inline

This is an overload of std::isfinite for adoubles and not traced on the tape. The value of the adouble on the current tape is passed to std::isfinite.

Parameters
aadouble to check whether its value on the tape is finite
Returns
whether the adouble value is finite

◆ isfinite() [2/2]

ADOLC_API bool isfinite ( const pdouble &  p)
inline

This is an overload of std::isfinite for pdoubles and not traced on the tape. The value of the pdouble on the current tape is passed to std::isfinite.

Parameters
ppdouble to check whether its value on the tape is finite
Returns
whether the pdouble value is finite

◆ isinf() [1/2]

ADOLC_API bool isinf ( const adouble &  a)
inline

This is an overload of std::isinf for adoubles and not traced on the tape. The value of the adouble on the current tape is passed to std::isinf.

Parameters
aadouble to check whether its value on the tape is inf
Returns
whether the adouble value is inf

◆ isinf() [2/2]

ADOLC_API bool isinf ( const pdouble &  p)
inline

This is an overload of std::isinf for pdoubles and not traced on the tape. The value of the pdouble on the current tape is passed to std::isinf.

Parameters
ppdouble to check whether its value on the tape is inf
Returns
whether the pdouble value is inf

◆ isnan() [1/2]

ADOLC_API bool isnan ( const adouble &  a)
inline

This is an overload of std::isnan for adoubles and not traced on the tape. The value of the adouble on the current tape is passed to std::isnan.

Parameters
aadouble to check whether its value on the tape is nan
Returns
whether the adouble value is nan

◆ isnan() [2/2]

ADOLC_API bool isnan ( const pdouble &  p)
inline

This is an overload of std::isnan for pdoubles and not traced on the tape. The value of the pdouble on the current tape is passed to std::isnan.

Parameters
ppdouble to check whether its value on the tape is nan
Returns
whether the pdouble value is nan

◆ isnormal() [1/2]

ADOLC_API bool isnormal ( const adouble &  a)
inline

This is an overload of std::isnormal for adoubles and not traced on the tape. The value of the adouble on the current tape is passed to std::isnormal.

Parameters
aadouble to check whether its value on the tape is normal
Returns
whether the adouble value is normal

◆ isnormal() [2/2]

ADOLC_API bool isnormal ( const pdouble &  p)
inline

This is an overload of std::isnormal for pdoubles and not traced on the tape. The value of the pdouble on the current tape is passed to std::isnormal.

Parameters
ppdouble to check whether its value on the tape is normal
Returns
whether the pdouble value is normal

◆ ldexp() [1/3]

ADOLC_API adouble ldexp ( adouble &&  a,
const int  exp 
)
inline

◆ ldexp() [2/3]

ADOLC_API adouble ldexp ( const adouble &  a,
const int  exp 
)
inline

◆ ldexp() [3/3]

ADOLC_API adouble ldexp ( const pdouble &  p,
const int  exp 
)
inline

◆ log() [1/3]

ADOLC_API adouble log ( adouble &&  a)

◆ log() [2/3]

ADOLC_API adouble log ( const adouble &  a)

◆ log() [3/3]

ADOLC_API adouble log ( const pdouble &  p)
inline

◆ log10() [1/3]

ADOLC_API adouble log10 ( adouble &&  a)
inline

◆ log10() [2/3]

ADOLC_API adouble log10 ( const adouble &  a)
inline

◆ log10() [3/3]

ADOLC_API adouble log10 ( const pdouble &  p)
inline

◆ max() [1/13]

ADOLC_API adouble max ( adouble &&  a,
adouble &&  b 
)
inline

◆ max() [2/13]

ADOLC_API adouble max ( adouble &&  a,
const adouble &  b 
)
inline

◆ max() [3/13]

ADOLC_API adouble max ( adouble &&  a,
const double  coval 
)
inline

◆ max() [4/13]

ADOLC_API adouble max ( const adouble &  a,
adouble &&  b 
)
inline

◆ max() [5/13]

ADOLC_API adouble max ( const adouble &  a,
const adouble &  b 
)
inline

◆ max() [6/13]

ADOLC_API adouble max ( const adouble &  a,
const double  coval 
)
inline

◆ max() [7/13]

ADOLC_API adouble max ( const adouble &  a,
const pdouble &  p 
)
inline

◆ max() [8/13]

ADOLC_API adouble max ( const double  coval,
adouble &&  a 
)
inline

◆ max() [9/13]

ADOLC_API adouble max ( const double  coval,
const adouble &  a 
)
inline

◆ max() [10/13]

ADOLC_API adouble max ( const double  coval,
const pdouble &  p 
)
inline

◆ max() [11/13]

ADOLC_API adouble max ( const pdouble &  p,
const adouble &  a 
)
inline

◆ max() [12/13]

ADOLC_API adouble max ( const pdouble &  p,
const double  coval 
)
inline

◆ max() [13/13]

ADOLC_API adouble max ( const pdouble &  p,
const pdouble &  q 
)
inline

◆ min() [1/13]

ADOLC_API adouble min ( adouble &&  a,
adouble &&  b 
)
inline

◆ min() [2/13]

ADOLC_API adouble min ( adouble &&  a,
const adouble &  b 
)
inline

◆ min() [3/13]

ADOLC_API adouble min ( adouble &&  a,
const double  coval 
)
inline

◆ min() [4/13]

ADOLC_API adouble min ( const adouble &  a,
adouble &&  b 
)
inline

◆ min() [5/13]

ADOLC_API adouble min ( const adouble &  a,
const adouble &  b 
)
inline

◆ min() [6/13]

ADOLC_API adouble min ( const adouble &  a,
const double  coval 
)
inline

◆ min() [7/13]

ADOLC_API adouble min ( const adouble &  a,
const pdouble &  p 
)
inline

◆ min() [8/13]

ADOLC_API adouble min ( const double  coval,
adouble &&  a 
)
inline

◆ min() [9/13]

ADOLC_API adouble min ( const double  coval,
const adouble &  a 
)
inline

◆ min() [10/13]

ADOLC_API adouble min ( const double  coval,
const pdouble &  p 
)
inline

◆ min() [11/13]

ADOLC_API adouble min ( const pdouble &  p,
const adouble &  a 
)
inline

◆ min() [12/13]

ADOLC_API adouble min ( const pdouble &  p,
const double  coval 
)
inline

◆ min() [13/13]

ADOLC_API adouble min ( const pdouble &  p,
const pdouble &  q 
)
inline

◆ myquad()

ADOLC_API double myquad ( double  x)

◆ operator!=() [1/5]

ADOLC_API bool operator!= ( const adouble &  a,
const adouble &  b 
)
inline

◆ operator!=() [2/5]

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

◆ operator!=() [3/5]

ADOLC_API bool operator!= ( const adouble &  a,
const pdouble &  p 
)
inline

◆ operator!=() [4/5]

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

◆ operator!=() [5/5]

ADOLC_API bool operator!= ( const pdouble &  p,
const adouble &  a 
)
inline

◆ operator*() [1/12]

ADOLC_API adouble operator* ( adouble &&  a,
adouble &&  b 
)
inline

◆ operator*() [2/12]

ADOLC_API adouble operator* ( adouble &&  a,
const adouble &  b 
)

◆ operator*() [3/12]

ADOLC_API adouble operator* ( adouble &&  a,
const double  coval 
)
inline

◆ operator*() [4/12]

ADOLC_API adouble operator* ( const adouble &  a,
adouble &&  b 
)
inline

◆ operator*() [5/12]

ADOLC_API adouble operator* ( const adouble &  a,
const adouble &  b 
)

◆ operator*() [6/12]

ADOLC_API adouble operator* ( const adouble &  a,
const double  coval 
)
inline

◆ operator*() [7/12]

ADOLC_API adouble operator* ( const adouble &  a,
const pdouble &  p 
)
inline

◆ operator*() [8/12]

ADOLC_API adouble operator* ( const double  coval,
adouble &&  a 
)

◆ operator*() [9/12]

ADOLC_API adouble operator* ( const double  coval,
const adouble &  a 
)

◆ operator*() [10/12]

ADOLC_API adouble operator* ( const double  coval,
const pdouble &  p 
)
inline

◆ operator*() [11/12]

ADOLC_API adouble operator* ( const pdouble &  p,
const adouble &  a 
)
inline

◆ operator*() [12/12]

ADOLC_API adouble operator* ( const pdouble &  p,
const double  coval 
)
inline

◆ operator+() [1/15]

ADOLC_API adouble operator+ ( adouble &&  a)

◆ operator+() [2/15]

ADOLC_API adouble operator+ ( adouble &&  a,
adouble &&  b 
)
inline

◆ operator+() [3/15]

ADOLC_API adouble operator+ ( adouble &&  a,
const adouble &  b 
)

◆ operator+() [4/15]

adouble operator+ ( adouble &&  a,
const double  coval 
)
inline

◆ operator+() [5/15]

ADOLC_API adouble operator+ ( const adouble &  a)

ADOUBLE ARTIHEMTICS

◆ operator+() [6/15]

ADOLC_API adouble operator+ ( const adouble &  a,
adouble &&  b 
)
inline

◆ operator+() [7/15]

ADOLC_API adouble operator+ ( const adouble &  a,
const adouble &  b 
)

◆ operator+() [8/15]

adouble operator+ ( const adouble &  a,
const double  coval 
)
inline

◆ operator+() [9/15]

ADOLC_API adouble operator+ ( const adouble &  a,
const pdouble &  p 
)
inline

◆ operator+() [10/15]

ADOLC_API adouble operator+ ( const double  coval,
adouble &&  a 
)

◆ operator+() [11/15]

ADOLC_API adouble operator+ ( const double  coval,
const adouble &  a 
)

◆ operator+() [12/15]

ADOLC_API adouble operator+ ( const double  coval,
const pdouble &  p 
)
inline

◆ operator+() [13/15]

ADOLC_API adouble operator+ ( const pdouble &  p)
inline

◆ operator+() [14/15]

ADOLC_API adouble operator+ ( const pdouble &  p,
const adouble &  a 
)
inline

◆ operator+() [15/15]

ADOLC_API adouble operator+ ( const pdouble &  p,
const double  coval 
)
inline

◆ operator-() [1/15]

ADOLC_API adouble operator- ( adouble &&  a)

◆ operator-() [2/15]

ADOLC_API adouble operator- ( adouble &&  a,
adouble &&  b 
)
inline

◆ operator-() [3/15]

ADOLC_API adouble operator- ( adouble &&  a,
const adouble &  b 
)

◆ operator-() [4/15]

ADOLC_API adouble operator- ( adouble &&  a,
const double  coval 
)
inline

◆ operator-() [5/15]

ADOLC_API adouble operator- ( const adouble &  a)

◆ operator-() [6/15]

ADOLC_API adouble operator- ( const adouble &  a,
adouble &&  b 
)
inline

◆ operator-() [7/15]

ADOLC_API adouble operator- ( const adouble &  a,
const adouble &  b 
)

◆ operator-() [8/15]

ADOLC_API adouble operator- ( const adouble &  a,
const double  coval 
)
inline

◆ operator-() [9/15]

ADOLC_API adouble operator- ( const adouble &  a,
const pdouble &  p 
)
inline

◆ operator-() [10/15]

ADOLC_API adouble operator- ( const double  coval,
adouble &&  a 
)

◆ operator-() [11/15]

ADOLC_API adouble operator- ( const double  coval,
const adouble &  a 
)

◆ operator-() [12/15]

ADOLC_API adouble operator- ( const double  coval,
const pdouble &  p 
)
inline

◆ operator-() [13/15]

ADOLC_API adouble operator- ( const pdouble &  p)
inline

◆ operator-() [14/15]

ADOLC_API adouble operator- ( const pdouble &  p,
const adouble &  a 
)
inline

◆ operator-() [15/15]

ADOLC_API adouble operator- ( const pdouble &  p,
const double  coval 
)
inline

◆ operator/() [1/12]

ADOLC_API adouble operator/ ( adouble &&  a,
adouble &&  b 
)
inline

◆ operator/() [2/12]

ADOLC_API adouble operator/ ( adouble &&  a,
const adouble &  b 
)

◆ operator/() [3/12]

ADOLC_API adouble operator/ ( adouble &&  a,
const double  coval 
)
inline

◆ operator/() [4/12]

ADOLC_API adouble operator/ ( const adouble &  a,
adouble &&  b 
)

◆ operator/() [5/12]

ADOLC_API adouble operator/ ( const adouble &  a,
const adouble &  b 
)

◆ operator/() [6/12]

ADOLC_API adouble operator/ ( const adouble &  a,
const double  coval 
)
inline

◆ operator/() [7/12]

ADOLC_API adouble operator/ ( const adouble &  a,
const pdouble &  p 
)
inline

◆ operator/() [8/12]

ADOLC_API adouble operator/ ( const double  coval,
adouble &&  a 
)

◆ operator/() [9/12]

ADOLC_API adouble operator/ ( const double  coval,
const adouble &  a 
)

◆ operator/() [10/12]

ADOLC_API adouble operator/ ( const double  coval,
const pdouble &  p 
)
inline

◆ operator/() [11/12]

ADOLC_API adouble operator/ ( const pdouble &  p,
const adouble &  a 
)
inline

◆ operator/() [12/12]

ADOLC_API adouble operator/ ( const pdouble &  p,
const double  coval 
)
inline

◆ operator<() [1/5]

ADOLC_API bool operator< ( const adouble &  a,
const adouble &  b 
)
inline

◆ operator<() [2/5]

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

◆ operator<() [3/5]

ADOLC_API bool operator< ( const adouble &  a,
const pdouble &  p 
)
inline

◆ operator<() [4/5]

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

◆ operator<() [5/5]

ADOLC_API bool operator< ( const pdouble &  p,
const adouble &  a 
)
inline

◆ operator<<()

ADOLC_API std::ostream & operator<< ( std::ostream &  ,
const adouble &   
)

◆ operator<<=()

ADOLC_API void operator<<= ( std::span< adouble >  indeps,
std::span< const double >  inputs 
)
inline

Assigns passive values to a contiguous sequence of adoubles and marks them as independent variables.

This is a bulk shorthand for applying scalar <<= element-wise in span order. The ordering of entries still determines the ordering of independents on the tape.

Parameters
indepsActive variables to register as independents.
inputsPassive values to assign to the corresponding active variables.
Precondition
indeps.size() == inputs.size()

◆ operator<=() [1/5]

ADOLC_API bool operator<= ( const adouble &  a,
const adouble &  b 
)
inline

◆ operator<=() [2/5]

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

◆ operator<=() [3/5]

ADOLC_API bool operator<= ( const adouble &  a,
const pdouble &  p 
)
inline

◆ operator<=() [4/5]

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

◆ operator<=() [5/5]

ADOLC_API bool operator<= ( const pdouble &  p,
const adouble &  a 
)
inline

◆ operator==() [1/5]

ADOLC_API bool operator== ( const adouble &  a,
const adouble &  b 
)
inline

◆ operator==() [2/5]

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

◆ operator==() [3/5]

ADOLC_API bool operator== ( const adouble &  a,
const pdouble &  p 
)
inline

◆ operator==() [4/5]

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

◆ operator==() [5/5]

ADOLC_API bool operator== ( const pdouble &  p,
const adouble &  a 
)
inline

◆ operator>() [1/5]

ADOLC_API bool operator> ( const adouble &  a,
const adouble &  b 
)
inline

◆ operator>() [2/5]

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

◆ operator>() [3/5]

ADOLC_API bool operator> ( const adouble &  a,
const pdouble &  p 
)
inline

◆ operator>() [4/5]

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

◆ operator>() [5/5]

ADOLC_API bool operator> ( const pdouble &  p,
const adouble &  a 
)
inline

◆ operator>=() [1/5]

ADOLC_API bool operator>= ( const adouble &  a,
const adouble &  b 
)
inline

◆ operator>=() [2/5]

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

◆ operator>=() [3/5]

ADOLC_API bool operator>= ( const adouble &  a,
const pdouble &  p 
)
inline

◆ operator>=() [4/5]

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

◆ operator>=() [5/5]

ADOLC_API bool operator>= ( const pdouble &  p,
const adouble &  a 
)
inline

◆ operator>>()

ADOLC_API std::istream & operator>> ( std::istream &  ,
const adouble &   
)

◆ operator>>=()

ADOLC_API void operator>>= ( std::span< adouble >  deps,
std::span< double >  outputs 
)
inline

Stores a contiguous sequence of adouble values into passive storage and marks them as dependent variables.

This is a bulk shorthand for applying scalar >>= element-wise in span order. The ordering of entries still determines the ordering of dependents on the tape.

Parameters
depsActive variables to register as dependents.
outputsPassive values that receive the corresponding active values.
Precondition
deps.size() == outputs.size()

◆ pow() [1/7]

ADOLC_API adouble pow ( adouble &&  a,
const double  exp 
)

◆ pow() [2/7]

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

◆ pow() [3/7]

ADOLC_API adouble pow ( const adouble &  a,
const double  exp 
)

◆ pow() [4/7]

ADOLC_API adouble pow ( const adouble &  a,
const pdouble &  p 
)
inline

◆ pow() [5/7]

ADOLC_API adouble pow ( const pdouble &  p,
const adouble &  a 
)
inline

◆ pow() [6/7]

ADOLC_API adouble pow ( const pdouble &  p,
const double  coval 
)
inline

◆ pow() [7/7]

ADOLC_API adouble pow ( double  coval,
const adouble &  a 
)
inline

◆ sin() [1/3]

ADOLC_API adouble sin ( adouble &&  a)

◆ sin() [2/3]

ADOLC_API adouble sin ( const adouble &  a)

◆ sin() [3/3]

ADOLC_API adouble sin ( const pdouble &  p)
inline

◆ sinh() [1/3]

ADOLC_API adouble sinh ( adouble &&  a)
inline

◆ sinh() [2/3]

ADOLC_API adouble sinh ( const adouble &  a)
inline

◆ sinh() [3/3]

ADOLC_API adouble sinh ( const pdouble &  p)
inline

◆ sqrt() [1/3]

ADOLC_API adouble sqrt ( adouble &&  a)

◆ sqrt() [2/3]

ADOLC_API adouble sqrt ( const adouble &  a)

◆ sqrt() [3/3]

ADOLC_API adouble sqrt ( const pdouble &  p)
inline

◆ tan() [1/3]

ADOLC_API adouble tan ( adouble &&  a)
inline

◆ tan() [2/3]

ADOLC_API adouble tan ( const adouble &  a)
inline

◆ tan() [3/3]

ADOLC_API adouble tan ( const pdouble &  p)
inline

◆ tanh() [1/3]

ADOLC_API adouble tanh ( adouble &&  a)
inline

◆ tanh() [2/3]

ADOLC_API adouble tanh ( const adouble &  a)
inline

◆ tanh() [3/3]

ADOLC_API adouble tanh ( const pdouble &  p)
inline