Sacado Package Browser (Single Doxygen Collection)  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Classes | Namespaces | Macros | Functions
Sacado_trad.hpp File Reference
#include "Sacado_ConfigDefs.h"
#include "Sacado_trad_Traits.hpp"
#include "Sacado_Base.hpp"
#include <stddef.h>
#include <Sacado_cmath.hpp>
Include dependency graph for Sacado_trad.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  Sacado::Rad::RAD_DoubleIgnore
 
class  Sacado::Rad::DoubleAvoid< T >
 
class  Sacado::Rad::DoubleAvoid< double >
 
class  Sacado::Rad::DoubleAvoid< int >
 
class  Sacado::Rad::DoubleAvoid< long >
 
class  Sacado::Rad::IndepADvar< Double >
 
class  Sacado::Rad::ConstADvar< Double >
 
class  Sacado::Rad::ConstADvari< Double >
 
class  Sacado::Rad::ADvar< Double >
 
class  Sacado::Rad::ADvari< Double >
 
class  Sacado::Rad::ADvar1< Double >
 
class  Sacado::Rad::ADvar1s< Double >
 
class  Sacado::Rad::ADvar2< Double >
 
class  Sacado::Rad::ADvar2q< Double >
 
class  Sacado::Rad::ADvarn< Double >
 
class  Sacado::Rad::Derp< Double >
 
struct  Sacado::Rad::ADmemblock< Double >
 
class  Sacado::Rad::ADcontext< Double >
 
class  Sacado::Rad::CADcontext< Double >
 
class  Sacado::Rad::Derp< Double >
 
class  Sacado::Rad::ADvari< Double >
 
class  Sacado::Rad::ADvar1< Double >
 
class  Sacado::Rad::ConstADvari< Double >
 
class  Sacado::Rad::IndepADvar_base0< Double >
 
class  Sacado::Rad::IndepADvar_base< Double >
 
class  Sacado::Rad::IndepADvar< Double >
 
class  Sacado::Rad::ADvar< Double >
 
struct  Sacado::Rad::ADvar< Double >::apply< U >
 Turn ADvar into a meta-function class usable with mpl::apply. More...
 
class  Sacado::Rad::ConstADvar< Double >
 
class  Sacado::Rad::ADvar1s< Double >
 
class  Sacado::Rad::ADvar2< Double >
 
class  Sacado::Rad::ADvar2q< Double >
 
class  Sacado::Rad::ADvarn< Double >
 

Namespaces

 Sacado
 
 Sacado::Rad
 

Macros

#define RAD_REINIT   0
 
#define RAD_ALLOW_WANTDERIV
 
#define RAD_REINIT_0(x)   /*nothing*/
 
#define RAD_REINIT_1(x)   /*nothing*/
 
#define RAD_REINIT_2(x)   /*nothing*/
 
#define RAD_cvchk(x)   /*nothing*/
 
#define RAD_REINIT_0(x)   x
 
#define Allow_noderiv(x)   /*nothing*/
 
#define Dtype   typename DoubleAvoid<Double>::dtype
 
#define Ltype   typename DoubleAvoid<Double>::ltype
 
#define Itype   typename DoubleAvoid<Double>::itype
 
#define Ttype   typename DoubleAvoid<Double>::ttype
 
#define Ai   const Base< ADvari<Double> >&
 
#define AI   const Base< IndepADvar<Double> >&
 
#define T   template<typename Double>
 
#define D   Double
 
#define T1(f)
 
#define T2(r, f)
 
#define F   ADvari<Double>&
 
#define F   friend
 
#define R   ADvari&
 
#define Ai   const Base< ADvari >&
 
#define D   Double
 
#define T1(r, f)   F r f <>(Ai);
 
#define T2(r, f)
 
#define Ai   const Base< ADVari >&
 
#define AI   const Base< IndepADvar >&
 
#define D   Double
 
#define T2(r, f)
 
#define T1(f)   friend ADVari& f<> (AI);
 
#define F   friend ADVari&
 
#define F   friend int
 
#define ADvar_nd   ADvar
 
#define RAD_ACA   /*nothing*/
 
#define A   (ADvari<Double>*)
 
#define C(x)   *A x
 
#define T   template<typename Double> inline
 
#define F   ADvari<Double>&
 
#define Ai   const Base< ADvari<Double> >&
 
#define AI   const Base< IndepADvar<Double> >&
 
#define D   Double
 
#define CAI(x, y)   const IndepADvar<Double> & x = y.derived()
 
#define CAi(x, y)   const ADvari<Double> & x = y.derived()
 
#define T2(r, f)
 
#define T1(f)   T F f(AI xx) { CAI(x,xx); RAD_cvchk(x) return f(C(x.cv)); }
 

Functions

T F Sacado::Rad::copy (AI)
 
T F Sacado::Rad::copy (Ai)
 
template<typename Double >
ADvari< Double > & Sacado::Rad::ADf1 (Double f, Double g, const IndepADvar< Double > &x)
 
template<typename Double >
ADvari< Double > & Sacado::Rad::ADf2 (Double f, Double gx, Double gy, const IndepADvar< Double > &x, const IndepADvar< Double > &y)
 
template<typename Double >
ADvari< Double > & Sacado::Rad::ADfn (Double f, int n, const IndepADvar< Double > *x, const Double *g)
 
template<typename Double >
IndepADvar< Double > & Sacado::Rad::ADvar_operatoreq (IndepADvar< Double > *, const ADvari< Double > &)
 
template<typename Double >
ADvar< Double > & Sacado::Rad::ADvar_operatoreq (ADvar< Double > *, const ADvari< Double > &)
 
template<typename Double >
void Sacado::Rad::AD_Const (const IndepADvar< Double > &)
 
template<typename Double >
void Sacado::Rad::AD_Const1 (Double *, const IndepADvar< Double > &)
 
template<typename Double >
ADvari< Double > & Sacado::Rad::ADf1 (Double, Double, const ADvari< Double > &)
 
template<typename Double >
ADvari< Double > & Sacado::Rad::ADf2 (Double, Double, Double, const ADvari< Double > &, const ADvari< Double > &)
 
template<typename Double >
ADvari< Double > & Sacado::Rad::ADf2 (Double, Double, Double, const IndepADvar< Double > &, const ADvari< Double > &)
 
template<typename Double >
ADvari< Double > & Sacado::Rad::ADf2 (Double, Double, Double, const ADvari< Double > &, const IndepADvar< Double > &)
 
template<typename Double >
Double Sacado::Rad::val (const ADvari< Double > &)
 
template<typename Double >
ADvari< Double > & Sacado::Rad::operator+ (const Base< ADvari< Double > > &TT)
 
template<typename Double >
int Sacado::Rad::operator< (const Base< ADvari< Double > > &LL, const Base< ADvari< Double > > &RR)
 
template<typename Double >
int Sacado::Rad::operator< (const Base< ADvari< Double > > &LL, Double R)
 
template<typename Double >
int Sacado::Rad::operator< (Double L, const Base< ADvari< Double > > &RR)
 
template<typename Double >
int Sacado::Rad::operator<= (const Base< ADvari< Double > > &LL, const Base< ADvari< Double > > &RR)
 
template<typename Double >
int Sacado::Rad::operator<= (const Base< ADvari< Double > > &LL, Double R)
 
template<typename Double >
int Sacado::Rad::operator<= (Double L, const Base< ADvari< Double > > &RR)
 
template<typename Double >
int Sacado::Rad::operator== (const Base< ADvari< Double > > &LL, const Base< ADvari< Double > > &RR)
 
template<typename Double >
int Sacado::Rad::operator== (const Base< ADvari< Double > > &LL, Double R)
 
template<typename Double >
int Sacado::Rad::operator== (Double L, const Base< ADvari< Double > > &RR)
 
template<typename Double >
int Sacado::Rad::operator!= (const Base< ADvari< Double > > &LL, const Base< ADvari< Double > > &RR)
 
template<typename Double >
int Sacado::Rad::operator!= (const Base< ADvari< Double > > &LL, Double R)
 
template<typename Double >
int Sacado::Rad::operator!= (Double L, const Base< ADvari< Double > > &RR)
 
template<typename Double >
int Sacado::Rad::operator>= (const Base< ADvari< Double > > &LL, const Base< ADvari< Double > > &RR)
 
template<typename Double >
int Sacado::Rad::operator>= (const Base< ADvari< Double > > &LL, Double R)
 
template<typename Double >
int Sacado::Rad::operator>= (Double L, const Base< ADvari< Double > > &RR)
 
template<typename Double >
int Sacado::Rad::operator> (const Base< ADvari< Double > > &LL, const Base< ADvari< Double > > &RR)
 
template<typename Double >
int Sacado::Rad::operator> (const Base< ADvari< Double > > &LL, Double R)
 
template<typename Double >
int Sacado::Rad::operator> (Double L, const Base< ADvari< Double > > &RR)
 
template<typename Double >
ADvari< Double > & Sacado::Rad::operator- (const Base< ADvari< Double > > &TT)
 
template<typename Double >
ADvari< Double > & Sacado::Rad::operator+ (const Base< ADvari< Double > > &LL, const Base< ADvari< Double > > &RR)
 
template<typename Double >
ADvari< Double > & Sacado::Rad::operator+ (const Base< ADvari< Double > > &LL, Double R)
 
template<typename Double >
ADvari< Double > & Sacado::Rad::operator+ (Double L, const Base< ADvari< Double > > &RR)
 
template<typename Double >
ADvari< Double > & Sacado::Rad::operator- (const Base< ADvari< Double > > &LL, const Base< ADvari< Double > > &RR)
 
template<typename Double >
ADvari< Double > & Sacado::Rad::operator- (const Base< ADvari< Double > > &LL, Double R)
 
template<typename Double >
ADvari< Double > & Sacado::Rad::operator- (Double L, const Base< ADvari< Double > > &RR)
 
template<typename Double >
ADvari< Double > & Sacado::Rad::operator* (const Base< ADvari< Double > > &LL, const Base< ADvari< Double > > &RR)
 
template<typename Double >
ADvari< Double > & Sacado::Rad::operator* (const Base< ADvari< Double > > &LL, Double R)
 
template<typename Double >
ADvari< Double > & Sacado::Rad::operator* (Double L, const Base< ADvari< Double > > &RR)
 
template<typename Double >
ADvari< Double > & Sacado::Rad::operator/ (const Base< ADvari< Double > > &LL, const Base< ADvari< Double > > &RR)
 
template<typename Double >
ADvari< Double > & Sacado::Rad::operator/ (const Base< ADvari< Double > > &LL, Double R)
 
template<typename Double >
ADvari< Double > & Sacado::Rad::operator/ (Double L, const Base< ADvari< Double > > &RR)
 
template<typename Double >
ADvari< Double > & Sacado::Rad::acos (const Base< ADvari< Double > > &vv)
 
template<typename Double >
ADvari< Double > & Sacado::Rad::acosh (const Base< ADvari< Double > > &vv)
 
template<typename Double >
ADvari< Double > & Sacado::Rad::asin (const Base< ADvari< Double > > &vv)
 
template<typename Double >
ADvari< Double > & Sacado::Rad::asinh (const Base< ADvari< Double > > &vv)
 
template<typename Double >
ADvari< Double > & Sacado::Rad::atan (const Base< ADvari< Double > > &vv)
 
template<typename Double >
ADvari< Double > & Sacado::Rad::atanh (const Base< ADvari< Double > > &vv)
 
template<typename Double >
ADvari< Double > & Sacado::Rad::atan2 (const Base< ADvari< Double > > &LL, const Base< ADvari< Double > > &RR)
 
template<typename Double >
ADvari< Double > & Sacado::Rad::atan2 (Double x, const Base< ADvari< Double > > &RR)
 
template<typename Double >
ADvari< Double > & Sacado::Rad::atan2 (const Base< ADvari< Double > > &LL, Double y)
 
template<typename Double >
ADvari< Double > & Sacado::Rad::max (const Base< ADvari< Double > > &LL, const Base< ADvari< Double > > &RR)
 
template<typename Double >
ADvari< Double > & Sacado::Rad::max (Double L, const Base< ADvari< Double > > &RR)
 
template<typename Double >
ADvari< Double > & Sacado::Rad::max (const Base< ADvari< Double > > &LL, Double R)
 
template<typename Double >
ADvari< Double > & Sacado::Rad::min (const Base< ADvari< Double > > &LL, const Base< ADvari< Double > > &RR)
 
template<typename Double >
ADvari< Double > & Sacado::Rad::min (Double L, const Base< ADvari< Double > > &RR)
 
template<typename Double >
ADvari< Double > & Sacado::Rad::min (const Base< ADvari< Double > > &LL, Double R)
 
template<typename Double >
ADvari< Double > & Sacado::Rad::cos (const Base< ADvari< Double > > &vv)
 
template<typename Double >
ADvari< Double > & Sacado::Rad::cosh (const Base< ADvari< Double > > &vv)
 
template<typename Double >
ADvari< Double > & Sacado::Rad::exp (const Base< ADvari< Double > > &vv)
 
template<typename Double >
ADvari< Double > & Sacado::Rad::log (const Base< ADvari< Double > > &vv)
 
template<typename Double >
ADvari< Double > & Sacado::Rad::log10 (const Base< ADvari< Double > > &vv)
 
template<typename Double >
ADvari< Double > & Sacado::Rad::pow (const Base< ADvari< Double > > &LL, const Base< ADvari< Double > > &RR)
 
template<typename Double >
ADvari< Double > & Sacado::Rad::pow (Double x, const Base< ADvari< Double > > &RR)
 
template<typename Double >
ADvari< Double > & Sacado::Rad::pow (const Base< ADvari< Double > > &LL, Double y)
 
template<typename Double >
ADvari< Double > & Sacado::Rad::sin (const Base< ADvari< Double > > &vv)
 
template<typename Double >
ADvari< Double > & Sacado::Rad::sinh (const Base< ADvari< Double > > &vv)
 
template<typename Double >
ADvari< Double > & Sacado::Rad::sqrt (const Base< ADvari< Double > > &vv)
 
template<typename Double >
ADvari< Double > & Sacado::Rad::tan (const Base< ADvari< Double > > &vv)
 
template<typename Double >
ADvari< Double > & Sacado::Rad::tanh (const Base< ADvari< Double > > &vv)
 
template<typename Double >
ADvari< Double > & Sacado::Rad::abs (const Base< ADvari< Double > > &vv)
 
template<typename Double >
ADvari< Double > & Sacado::Rad::fabs (const Base< ADvari< Double > > &vv)
 
template<typename Double >
ADvari< Double > & Sacado::Rad::cbrt (const Base< ADvari< Double > > &vv)
 
template<typename Double >
ADvari< Double > & Sacado::Rad::ADfn (Double f, int n, const ADvar< Double > *x, const Double *g)
 

Macro Definition Documentation

#define RAD_REINIT   0

Definition at line 27 of file Sacado_trad.hpp.

#define RAD_ALLOW_WANTDERIV

Definition at line 36 of file Sacado_trad.hpp.

#define RAD_REINIT_0 (   x)    /*nothing*/

Definition at line 76 of file Sacado_trad.hpp.

#define RAD_REINIT_1 (   x)    /*nothing*/

Definition at line 43 of file Sacado_trad.hpp.

#define RAD_REINIT_2 (   x)    /*nothing*/

Definition at line 44 of file Sacado_trad.hpp.

#define RAD_cvchk (   x)    /*nothing*/

Definition at line 45 of file Sacado_trad.hpp.

#define RAD_REINIT_0 (   x)    x

Definition at line 76 of file Sacado_trad.hpp.

#define Allow_noderiv (   x)    /*nothing*/

Definition at line 82 of file Sacado_trad.hpp.

#define Dtype   typename DoubleAvoid<Double>::dtype

Definition at line 185 of file Sacado_trad.hpp.

#define Ltype   typename DoubleAvoid<Double>::ltype

Definition at line 186 of file Sacado_trad.hpp.

#define Itype   typename DoubleAvoid<Double>::itype

Definition at line 187 of file Sacado_trad.hpp.

#define Ttype   typename DoubleAvoid<Double>::ttype

Definition at line 188 of file Sacado_trad.hpp.

#define Ai   const Base< ADvari<Double> >&

Definition at line 2621 of file Sacado_trad.hpp.

#define AI   const Base< IndepADvar<Double> >&

Definition at line 2622 of file Sacado_trad.hpp.

#define T   template<typename Double>

Definition at line 2619 of file Sacado_trad.hpp.

#define D   Double

Definition at line 2623 of file Sacado_trad.hpp.

#define T1 (   f)
Value:
T F f (AI); \
T F f (Ai);
ADT_RAD ADvari< double > Ai
void f()
ADT_RAD IndepADvar< double > AI
#define T
Definition: Sacado_rad.hpp:553

Definition at line 2663 of file Sacado_trad.hpp.

#define T2 (   r,
  f 
)
Value:
T r f(Ai,Ai); \
T r f(Ai,D); \
T r f(Ai,Dtype); \
T r f(Ai,Ltype); \
T r f(Ai,Itype); \
T r f(D,Ai); \
T r f(Dtype,Ai); \
T r f(Ltype,Ai); \
T r f(Itype,Ai); \
T r f(AI,D); \
T r f(AI,Dtype); \
T r f(AI,Ltype); \
T r f(AI,Itype); \
T r f(D,AI); \
T r f(Dtype,AI); \
T r f(Ltype,AI); \
T r f(Itype,AI); \
T r f(Ai,AI);\
T r f(AI,Ai);\
T r f(AI,AI);
ADT_RAD ADvari< double > Ai
void f()
ADT_RAD IndepADvar< double > AI
#define Itype
#define T
Definition: Sacado_rad.hpp:553
#define Dtype
#define Ltype

Definition at line 2626 of file Sacado_trad.hpp.

#define F   ADvari<Double>&

Definition at line 2620 of file Sacado_trad.hpp.

#define F   friend

Definition at line 2620 of file Sacado_trad.hpp.

#define R   ADvari&

Definition at line 471 of file Sacado_trad.hpp.

#define Ai   const Base< ADvari >&

Definition at line 2621 of file Sacado_trad.hpp.

#define D   Double

Definition at line 2623 of file Sacado_trad.hpp.

#define T1 (   r,
  f 
)    F r f <>(Ai);

Definition at line 2663 of file Sacado_trad.hpp.

#define T2 (   r,
  f 
)
Value:
F r f <>(Ai,Ai); \
F r f <>(Ai,D); \
F r f <>(D,Ai);
#define Ai
Definition: Sacado_rad.hpp:555
#define D
Definition: Sacado_rad.hpp:557
#define F
Definition: Sacado_rad.hpp:554

Definition at line 2626 of file Sacado_trad.hpp.

#define Ai   const Base< ADVari >&

Definition at line 2621 of file Sacado_trad.hpp.

#define AI   const Base< IndepADvar >&

Definition at line 2622 of file Sacado_trad.hpp.

#define D   Double

Definition at line 2623 of file Sacado_trad.hpp.

#define T2 (   r,
  f 
)
Value:
r f <>(AI,AI);\
r f <>(Ai,AI);\
r f <>(AI,Ai);\
r f <>(D,AI);\
r f <>(AI,D);
#define Ai
Definition: Sacado_rad.hpp:555
#define D
Definition: Sacado_rad.hpp:557
#define AI
Definition: Sacado_rad.hpp:556

Definition at line 2626 of file Sacado_trad.hpp.

#define T1 (   f)    friend ADVari& f<> (AI);

Definition at line 2663 of file Sacado_trad.hpp.

#define F   friend ADVari&

Definition at line 2620 of file Sacado_trad.hpp.

#define F   friend int

Definition at line 2620 of file Sacado_trad.hpp.

#define ADvar_nd   ADvar

Definition at line 1070 of file Sacado_trad.hpp.

#define RAD_ACA   /*nothing*/

Definition at line 2106 of file Sacado_trad.hpp.

#define A   (ADvari<Double>*)

Definition at line 2613 of file Sacado_trad.hpp.

#define C (   x)    *A x

Definition at line 2617 of file Sacado_trad.hpp.

#define T   template<typename Double> inline

Definition at line 2619 of file Sacado_trad.hpp.

#define F   ADvari<Double>&

Definition at line 2620 of file Sacado_trad.hpp.

#define Ai   const Base< ADvari<Double> >&

Definition at line 2621 of file Sacado_trad.hpp.

#define AI   const Base< IndepADvar<Double> >&

Definition at line 2622 of file Sacado_trad.hpp.

#define D   Double

Definition at line 2623 of file Sacado_trad.hpp.

#define CAI (   x,
  y 
)    const IndepADvar<Double> & x = y.derived()

Definition at line 2624 of file Sacado_trad.hpp.

#define CAi (   x,
  y 
)    const ADvari<Double> & x = y.derived()

Definition at line 2625 of file Sacado_trad.hpp.

#define T2 (   r,
  f 
)
Value:
T r f(Ai LL, AI RR) { CAi(L,LL); CAI(R,RR); RAD_cvchk(R) return f(L, C(R.cv)); } \
T r f(AI LL, Ai RR) { CAI(L,LL); CAi(R,RR); RAD_cvchk(L) return f(C(L.cv), R); }\
T r f(AI LL, AI RR) { CAI(L,LL); CAI(R,RR); RAD_cvchk(L) RAD_cvchk(R) return f(C(L.cv), C(R.cv)); }\
T r f(AI LL, D R) { CAI(L,LL); RAD_cvchk(L) return f(C(L.cv), R); } \
T r f(D L, AI RR) { CAI(R,RR); RAD_cvchk(R) return f(L, C(R.cv)); } \
T r f(Ai L, Dtype R) { return f(L, (D)R); }\
T r f(AI L, Dtype R) { return f(L, (D)R); }\
T r f(Ai L, Ltype R) { return f(L, (D)R); }\
T r f(AI L, Ltype R) { return f(L, (D)R); }\
T r f(Ai L, Itype R) { return f(L, (D)R); }\
T r f(AI L, Itype R) { return f(L, (D)R); }\
T r f(Dtype L, Ai R) { return f((D)L, R); }\
T r f(Dtype L, AI R) {return f((D)L, R); }\
T r f(Ltype L, Ai R) { return f((D)L, R); }\
T r f(Ltype L, AI R) { return f((D)L, R); }\
T r f(Itype L, Ai R) { return f((D)L, R); }\
T r f(Itype L, AI R) { return f((D)L, R); }
ADT_RAD ADvari< double > Ai
void f()
ADT_RAD IndepADvar< double > AI
#define CAI(x, y)
#define Itype
#define T
Definition: Sacado_rad.hpp:553
#define Dtype
#define Ltype
#define CAi(x, y)
#define RAD_cvchk(x)
Definition: Sacado_trad.hpp:45

Definition at line 2626 of file Sacado_trad.hpp.

#define T1 (   f)    T F f(AI xx) { CAI(x,xx); RAD_cvchk(x) return f(C(x.cv)); }

Definition at line 2663 of file Sacado_trad.hpp.