29 #ifndef __ADTypeOrder0_H
30 #define __ADTypeOrder0_H 1
51 template<
typename T,
int Nvar,
int Var>
52 class ADType<T, Nvar, 0, Var>
59 typedef ADVariable<Var> variable_type;
61 typedef ADType<T, Nvar, 0, Var> This;
65 template<
typename NumT,
int NumVar,
int Order,
int VarNum>
friend class ADType;
79 ADType( ADType<T,Nvar,0,VarNum>
const& sad )
85 template<
typename ExprT>
86 ADType (
const ADExpr<ExprT>& expr )
97 value_type value()
const
121 template <
class ExprT> This&
operator=(
const ADExpr<ExprT>& expr );
124 ADExpr< ADUnaryPlus< This > > operator+ ()
const
126 typedef ADUnaryPlus<This> expr_t;
127 return ADExpr<expr_t> ( expr_t ( *
this ) );
131 ADExpr< ADUnaryMinus< This > > operator- ()
const
133 typedef ADUnaryMinus<This> expr_t;
134 return ADExpr<expr_t> ( expr_t ( *
this ) );
137 #define AD_UNARY_OP( op ) \
138 This& operator op ( value_type val ) \
150 This& operator += ( This
const& sad )
155 This& operator -= ( This
const& sad )
162 This& operator *= ( This
const& sad )
168 This& operator /= ( This
const& sad )
174 template<
typename Expr>
175 This& operator += ( ADExpr<Expr>
const& sad )
181 template<
typename Expr>
182 This& operator -= ( ADExpr<Expr>
const& sad )
188 template<
typename Expr>
189 This& operator *= ( ADExpr<Expr>
const& sad )
195 template<
typename Expr>
196 This& operator /= ( ADExpr<Expr>
const& sad )
207 template<
typename T,
int Nvar,
int Var>
208 ADType<T, Nvar, 0, Var>&
215 template<
typename T,
int Nvar,
int Var>
216 ADType<T, Nvar, 0, Var>&
222 template<
typename T,
int Nvar,
int Var>
223 template <
class ExprT>
224 ADType<T,Nvar, 0, Var> &
227 M_val = expr.value();
234 template <
class T,
int Nvar,
int Var>
236 operator << ( std::ostream& os, const Feel::ADType<T, Nvar, 0, Var>& a )
238 os.setf( std::ios::fixed,std::ios::floatfield );
240 os <<
"value = " << a.value() <<
" \n";
Expr< Val< typename mpl::if_< boost::is_arithmetic< ExprT1 >, mpl::identity< Cst< ExprT1 > >, mpl::identity< ExprT1 > >::type::type > > val(ExprT1 const &__e1)
precompute expression tensor
Definition: val.hpp:304
Elements & operator=(Elements const &e)
Definition: elements.hpp:335