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 | Variables
Sacado_Fad_Exp_Ops.hpp File Reference
#include <type_traits>
#include <ostream>
#include "Sacado_Fad_Exp_Expression.hpp"
#include "Sacado_Fad_Exp_ExpressionTraits.hpp"
#include "Sacado_Fad_Exp_Ops_Fwd.hpp"
#include "Sacado_cmath.hpp"
#include "Sacado_mpl_has_equal_to.hpp"
Include dependency graph for Sacado_Fad_Exp_Ops.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  Sacado::Fad::Exp::IfThenElseOp< CondT, T1, T2, is_const_T1, is_const_T2, ExprSpec >
 
class  Sacado::Fad::Exp::IfThenElseOp< CondT, T1, T2, false, false, ExprSpecDefault >
 
class  Sacado::Fad::Exp::IfThenElseOp< CondT, T1, T2, false, true, ExprSpecDefault >
 
class  Sacado::Fad::Exp::IfThenElseOp< CondT, T1, T2, true, false, ExprSpecDefault >
 
struct  Sacado::Fad::Exp::ExprLevel< IfThenElseOp< CondT, T1, T2, c1, c2, E > >
 
struct  Sacado::Fad::Exp::IsFadExpr< IfThenElseOp< CondT, T1, T2, c1, c2, E > >
 
struct  Sacado::IsExpr< Fad::Exp::IfThenElseOp< CondT, T1, T2, c1, c2, E > >
 
struct  Sacado::BaseExprType< Fad::Exp::IfThenElseOp< CondT, T1, T2, c1, c2, E > >
 
struct  Sacado::IsSimdType< Fad::Exp::IfThenElseOp< CondT, T1, T2, c1, c2, E > >
 
struct  Sacado::ValueType< Fad::Exp::IfThenElseOp< CondT, T1, T2, c1, c2, E > >
 
struct  Sacado::ScalarType< Fad::Exp::IfThenElseOp< CondT, T1, T2, c1, c2, E > >
 
struct  Sacado::Fad::Exp::Impl::ConditionalReturnType< T1, T2, bool >
 
struct  Sacado::Fad::Exp::Impl::ConditionalReturnType< T1, T2, true >
 

Namespaces

 Sacado
 
 Sacado::Fad
 Namespace for forward-mode AD classes.
 
 Sacado::Fad::Exp
 
 Sacado::Fad::Exp::Impl
 

Macros

#define FAD_UNARYOP_MACRO(OPNAME, OP, USING, VALUE, DX, FASTACCESSDX)
 
#define FAD_BINARYOP_MACRO(OPNAME, OP, USING, VALUE, DX, CDX1, CDX2, FASTACCESSDX, VAL_CONST_DX_1, VAL_CONST_DX_2, CONST_DX_1, CONST_DX_2, CONST_FASTACCESSDX_1, CONST_FASTACCESSDX_2)
 
#define FAD_RELOP_MACRO(OP)
 
#define FAD_BOOL_MACRO(OP)
 

Functions

 FAD_UNARYOP_MACRO (operator+, UnaryPlusOp,;, expr.val(), expr.dx(i), expr.fastAccessDx(i)) FAD_UNARYOP_MACRO(operator-
 
expr val () = expr2.val() ? expr1.dx(i) : expr2.dx(i)
 
expr expr dx (i)
 
expr expr expr fastAccessDx (i)) FAD_UNARYOP_MACRO(exp
 
 exp (expr.val())
 
 log (expr.val())
 
 log10 (expr.val())
 
 sqrt (expr.val())
 
 cos (expr.val())
 
 sin (expr.val())
 
 tan (expr.val())
 
 acos (expr.val())
 
 asin (expr.val())
 
 atan (expr.val())
 
 cosh (expr.val())
 
 sinh (expr.val())
 
 tanh (expr.val())
 
 acosh (expr.val())
 
 asinh (expr.val())
 
 atanh (expr.val())
 
 abs (expr.val())
 
 if_then_else (expr.val() >=0, expr.dx(i), value_type(-expr.dx(i)))
 
 if_then_else (expr.val() >=0, expr.fastAccessDx(i), value_type(-expr.fastAccessDx(i)))) FAD_UNARYOP_MACRO(fabs
 
 fabs (expr.val())
 
 cbrt (expr.val())
 
 FAD_BINARYOP_MACRO (operator+, AdditionOp,;, expr1.val()+expr2.val(), expr1.dx(i)+expr2.dx(i), expr2.dx(i), expr1.dx(i), expr1.fastAccessDx(i)+expr2.fastAccessDx(i), c+expr2.val(), expr1.val()+c, expr2.dx(i), expr1.dx(i), expr2.fastAccessDx(i), expr1.fastAccessDx(i)) FAD_BINARYOP_MACRO(operator-
 
 atan2 (expr1.val(), expr2.val())
 
expr2 expr1 expr2 expr2 atan2 (c, expr2.val())
 
expr2 expr1 expr2 expr2 atan2 (expr1.val(), c)
 
 if_then_else (expr1.val() >=expr2.val(), expr1.val(), expr2.val())
 
 if_then_else (expr1.val() >=expr2.val(), expr1.dx(i), expr2.dx(i))
 
 if_then_else (expr1.val() >=expr2.val(), value_type(0.0), expr2.dx(i))
 
 if_then_else (expr1.val() >=expr2.val(), expr1.dx(i), value_type(0.0))
 
 if_then_else (c >=expr2.val(), value_type(c), expr2.val())
 
 if_then_else (expr1.val() >=c, expr1.val(), value_type(c))
 
 if_then_else (c >=expr2.val(), value_type(0.0), expr2.dx(i))
 
 if_then_else (expr1.val() >=c, expr1.dx(i), value_type(0.0))
 
 if_then_else (expr1.val()<=expr2.val(), expr1.val(), expr2.val())
 
 if_then_else (expr1.val()<=expr2.val(), expr1.dx(i), expr2.dx(i))
 
 if_then_else (expr1.val()<=expr2.val(), value_type(0.0), expr2.dx(i))
 
 if_then_else (expr1.val()<=expr2.val(), expr1.dx(i), value_type(0.0))
 
 if_then_else (c<=expr2.val(), value_type(c), expr2.val())
 
 if_then_else (expr1.val()<=c, expr1.val(), value_type(c))
 
 if_then_else (c<=expr2.val(), value_type(0), expr2.dx(i))
 
 if_then_else (expr1.val()<=c, expr1.dx(i), value_type(0))
 
template<typename CondT , typename T1 , typename T2 >
SACADO_INLINE_FUNCTION
mpl::enable_if_c< IsFadExpr
< T1 >::value &&IsFadExpr< T2 >
::value &&ExprLevel< T1 >
::value==ExprLevel< T2 >
::value, IfThenElseOp< CondT,
typename Expr< T1 >
::derived_type, typename Expr
< T2 >::derived_type, false,
false, typename
T1::expr_spec_type > >::type 
Sacado::Fad::Exp::if_then_else (const CondT &cond, const T1 &expr1, const T2 &expr2)
 
template<typename CondT , typename T >
SACADO_INLINE_FUNCTION
IfThenElseOp< CondT, typename
T::value_type, typename Expr
< T >::derived_type, true,
false, typename
T::expr_spec_type > 
Sacado::Fad::Exp::if_then_else (const CondT &cond, const typename T::value_type &c, const Expr< T > &expr)
 
template<typename CondT , typename T >
SACADO_INLINE_FUNCTION
IfThenElseOp< CondT, typename
Expr< T >::derived_type,
typename T::value_type, false,
true, typename
T::expr_spec_type > 
Sacado::Fad::Exp::if_then_else (const CondT &cond, const Expr< T > &expr, const typename T::value_type &c)
 
template<typename CondT , typename T >
SACADO_INLINE_FUNCTION
mpl::disable_if< std::is_same
< typename T::value_type,
typename T::scalar_type >
, IfThenElseOp< CondT,
typename T::scalar_type,
typename Expr< T >
::derived_type, true, false,
typename T::expr_spec_type >
>::type 
Sacado::Fad::Exp::if_then_else (const CondT &cond, const typename Expr< T >::scalar_type &c, const Expr< T > &expr)
 
template<typename CondT , typename T >
SACADO_INLINE_FUNCTION
mpl::disable_if< std::is_same
< typename T::value_type,
typename T::scalar_type >
, IfThenElseOp< CondT,
typename Expr< T >
::derived_type, typename
T::scalar_type, false, true,
typename T::expr_spec_type >
>::type 
Sacado::Fad::Exp::if_then_else (const CondT &cond, const Expr< T > &expr, const typename Expr< T >::scalar_type &c)
 
template<typename ExprT >
SACADO_INLINE_FUNCTION bool Sacado::Fad::Exp::operator! (const Expr< ExprT > &expr)
 
template<typename T >
SACADO_INLINE_FUNCTION bool Sacado::Fad::Exp::toBool (const Expr< T > &xx)
 
template<typename T >
std::ostream & Sacado::Fad::Exp::operator<< (std::ostream &os, const Expr< T > &xx)
 

Variables

 UnaryMinusOp
 
expr expr expr ExpOp
 
 LogOp
 
expr expr Log10Op
 
expr expr SqrtOp
 
expr expr CosOp
 
expr expr SinOp
 
expr expr TanOp
 
expr expr ACosOp
 
expr expr ASinOp
 
expr expr ATanOp
 
expr expr CoshOp
 
expr expr SinhOp
 
expr expr TanhOp
 
expr expr ACoshOp
 
expr expr ASinhOp
 
expr expr ATanhOp
 
expr expr AbsOp
 
 FAbsOp
 
 CbrtOp
 
 SubtractionOp
 
expr1 expr1 expr2 expr1 expr1
c expr2 expr1 expr2 expr1
expr2 expr1 
MultiplicationOp
 
expr1 expr1 expr2 expr1 expr1
c expr2 expr1 expr2 expr1
expr2 expr1 expr1 expr1 expr1
expr1 expr1 c *expr2 expr1 c
*expr2 expr1 c *expr2 expr1 
DivisionOp
 
expr1 expr1 expr2 expr1 expr1
c expr2 expr1 expr2 expr1
expr2 expr1 expr1 expr1 expr1
expr1 expr1 c *expr2 expr1 c
*expr2 expr1 c *expr2 expr1
expr1 expr1 expr2 expr1 expr1
c expr2 expr1 expr2 expr1
expr2 expr1 
Atan2Op
 
expr2 expr1 expr2 expr2 c
*expr2 c *expr1 c *expr2 c
*expr1 
MaxOp
 
 MinOp
 

Macro Definition Documentation

#define FAD_UNARYOP_MACRO (   OPNAME,
  OP,
  USING,
  VALUE,
  DX,
  FASTACCESSDX 
)

Definition at line 28 of file Sacado_Fad_Exp_Ops.hpp.

#define FAD_BINARYOP_MACRO (   OPNAME,
  OP,
  USING,
  VALUE,
  DX,
  CDX1,
  CDX2,
  FASTACCESSDX,
  VAL_CONST_DX_1,
  VAL_CONST_DX_2,
  CONST_DX_1,
  CONST_DX_2,
  CONST_FASTACCESSDX_1,
  CONST_FASTACCESSDX_2 
)

Definition at line 437 of file Sacado_Fad_Exp_Ops.hpp.

#define FAD_RELOP_MACRO (   OP)

Definition at line 2029 of file Sacado_Fad_Exp_Ops.hpp.

#define FAD_BOOL_MACRO (   OP)

Definition at line 2118 of file Sacado_Fad_Exp_Ops.hpp.

Function Documentation

FAD_UNARYOP_MACRO ( operator+  ,
UnaryPlusOp  ,
,
expr.  val(),
expr.  dxi,
expr.  fastAccessDx
)
expr expr1 expr1 expr1 c expr2 expr1 expr2 expr1 expr2 expr1 expr1 expr1 expr1 c expr2 expr1 expr2 expr1 expr2 expr1 expr1 expr1 expr1 c *expr2 expr1 expr2 expr1 expr2 expr1 expr1 expr1 expr1 c expr2 expr1 expr2 expr1 expr2 expr1 expr1 expr1 expr2 expr1 expr2 expr1 expr1 expr1 expr2 expr1 expr2 expr1 expr1 expr1 expr1 val ( ) = expr2.val() ? expr1.dx(i) : expr2.dx(i)
expr expr1 expr1 expr1 c expr2 expr1 expr2 expr1 expr2 expr1 expr1 expr1 expr1 c expr2 expr1 expr2 expr1 expr2 expr1 expr1 expr1 expr1 c *expr2 expr1 expr2 expr1 expr2 expr1 expr1 expr1 expr1 c expr2 expr1 expr2 expr1 expr2 expr1 expr1 expr1 expr2 expr1 expr2 expr1 expr1 expr1 expr2 expr1 dx ( i  )

Definition at line 186 of file Sacado_ELRFad_Ops.hpp.

expr expr1 expr1 expr1 c expr2 expr1 expr2 expr1 expr2 expr1 expr1 expr1 expr1 c expr2 expr1 expr2 expr1 expr2 expr1 expr1 expr1 expr1 c *expr2 expr1 expr2 expr1 expr2 expr1 expr1 expr1 expr1 c expr2 expr1 expr2 expr1 expr2 expr1 expr1 expr1 expr2 expr1 expr2 expr1 expr1 expr1 expr2 expr1 expr2 expr1 fastAccessDx ( i  )

Definition at line 267 of file Sacado_Fad_Exp_Ops.hpp.

exp ( expr.  val())
log ( expr.  val())
log10 ( expr.  val())
sqrt ( expr.  val())
cos ( expr.  val())
sin ( expr.  val())
tan ( expr.  val())
acos ( expr.  val())
asin ( expr.  val())
atan ( expr.  val())
cosh ( expr.  val())
sinh ( expr.  val())
tanh ( expr.  val())
acosh ( expr.  val())
asinh ( expr.  val())
atanh ( expr.  val())
abs ( expr.  val())
if_then_else ( expr.val() >=  0,
expr.  dxi,
value_type(-expr.dx(i))   
)
if_then_else ( expr.val() >=  0,
expr.  fastAccessDxi,
value_type(-expr.fastAccessDx(i))   
)
fabs ( expr.  val())
cbrt ( expr.  val())
FAD_BINARYOP_MACRO ( operator+  ,
AdditionOp  ,
,
expr1.  val)+expr2.val(,
expr1.  dxi)+expr2.dx(i,
expr2.  dxi,
expr1.  dxi,
expr1.  fastAccessDxi)+expr2.fastAccessDx(i,
c+expr2.  val(),
expr1.val()+  c,
expr2.  dxi,
expr1.  dxi,
expr2.  fastAccessDxi,
expr1.  fastAccessDx
)
atan2 ( expr1.  val(),
expr2.  val() 
)
expr2 expr1 expr2 expr2 atan2 ( c  ,
expr2.  val() 
)
expr2 expr1 expr2 expr2 atan2 ( expr1.  val(),
c   
)
if_then_else ( expr1.  val) >=expr2.val(,
expr1.  val(),
expr2.  val() 
)
if_then_else ( expr1.  val) >=expr2.val(,
expr1.  dxi,
expr2.  dx
)
if_then_else ( expr1.  val) >=expr2.val(,
value_type(0.0)  ,
expr2.  dx
)
if_then_else ( expr1.  val) >=expr2.val(,
expr1.  dxi,
value_type(0.0)   
)
if_then_else ( c >=expr2.  val(),
value_type(c ,
expr2.  val() 
)
if_then_else ( expr1.val() >=  c,
expr1.  val(),
value_type(c  
)
if_then_else ( c >=expr2.  val(),
value_type(0.0)  ,
expr2.  dx
)
if_then_else ( expr1.val() >=  c,
expr1.  dxi,
value_type(0.0)   
)
if_then_else ( expr1.  val)<=expr2.val(,
expr1.  val(),
expr2.  val() 
)
if_then_else ( expr1.  val)<=expr2.val(,
expr1.  dxi,
expr2.  dx
)
if_then_else ( expr1.  val)<=expr2.val(,
value_type(0.0)  ,
expr2.  dx
)
if_then_else ( expr1.  val)<=expr2.val(,
expr1.  dxi,
value_type(0.0)   
)
if_then_else ( c<=expr2.  val(),
value_type(c ,
expr2.  val() 
)
if_then_else ( expr1.val()<=  c,
expr1.  val(),
value_type(c  
)
if_then_else ( c<=expr2.  val(),
value_type(0)  ,
expr2.  dx
)
if_then_else ( expr1.val()<=  c,
expr1.  dxi,
value_type(0)   
)

Definition at line 845 of file Sacado_Fad_Exp_Ops.hpp.

Variable Documentation

UnaryMinusOp

Definition at line 141 of file Sacado_Fad_Exp_Ops.hpp.

expr expr expr ExpOp

Definition at line 147 of file Sacado_Fad_Exp_Ops.hpp.

LogOp

Definition at line 153 of file Sacado_Fad_Exp_Ops.hpp.

expr expr Log10Op

Definition at line 159 of file Sacado_Fad_Exp_Ops.hpp.

expr expr SqrtOp

Definition at line 165 of file Sacado_Fad_Exp_Ops.hpp.

expr expr CosOp

Definition at line 171 of file Sacado_Fad_Exp_Ops.hpp.

expr expr SinOp

Definition at line 177 of file Sacado_Fad_Exp_Ops.hpp.

expr expr TanOp

Definition at line 183 of file Sacado_Fad_Exp_Ops.hpp.

expr expr ACosOp

Definition at line 191 of file Sacado_Fad_Exp_Ops.hpp.

expr expr ASinOp

Definition at line 198 of file Sacado_Fad_Exp_Ops.hpp.

expr expr ATanOp

Definition at line 205 of file Sacado_Fad_Exp_Ops.hpp.

expr expr CoshOp

Definition at line 211 of file Sacado_Fad_Exp_Ops.hpp.

expr expr SinhOp

Definition at line 217 of file Sacado_Fad_Exp_Ops.hpp.

expr expr TanhOp

Definition at line 223 of file Sacado_Fad_Exp_Ops.hpp.

expr expr ACoshOp

Definition at line 229 of file Sacado_Fad_Exp_Ops.hpp.

expr expr ASinhOp

Definition at line 237 of file Sacado_Fad_Exp_Ops.hpp.

expr expr ATanhOp

Definition at line 244 of file Sacado_Fad_Exp_Ops.hpp.

expr expr AbsOp

Definition at line 251 of file Sacado_Fad_Exp_Ops.hpp.

FAbsOp

Definition at line 257 of file Sacado_Fad_Exp_Ops.hpp.

CbrtOp

Definition at line 263 of file Sacado_Fad_Exp_Ops.hpp.

SubtractionOp

Definition at line 741 of file Sacado_Fad_Exp_Ops.hpp.

expr1 expr1 expr2 expr1 expr1 c expr2 expr1 expr2 expr1 expr2 expr1 MultiplicationOp

Definition at line 755 of file Sacado_Fad_Exp_Ops.hpp.

expr1 expr1 expr2 expr1 expr1 c expr2 expr1 expr2 expr1 expr2 expr1 expr1 expr1 expr1 expr1 expr1 c* expr2 expr1 c* expr2 expr1 c* expr2 expr1 DivisionOp

Definition at line 770 of file Sacado_Fad_Exp_Ops.hpp.

expr1 expr1 expr2 expr1 expr1 c expr2 expr1 expr2 expr1 expr2 expr1 expr1 expr1 expr1 expr1 expr1 c* expr2 expr1 c* expr2 expr1 c* expr2 expr1 expr1 expr1 expr2 expr1 expr1 c expr2 expr1 expr2 expr1 expr2 expr1 Atan2Op

Definition at line 787 of file Sacado_Fad_Exp_Ops.hpp.

expr2 expr1 expr2 expr2 c* expr2 c* expr1 c* expr2 c* expr1 MaxOp

Definition at line 819 of file Sacado_Fad_Exp_Ops.hpp.

MinOp

Definition at line 833 of file Sacado_Fad_Exp_Ops.hpp.