16 #ifndef dealii_differentiation_ad_sacado_product_types_h
17 #define dealii_differentiation_ad_sacado_product_types_h
23 #ifdef DEAL_II_TRILINOS_WITH_SACADO
25 # include <Sacado.hpp>
30 # include <Sacado_Fad_DFad.hpp>
32 # include <Sacado_trad.hpp>
47 using type = Sacado::Fad::DFad<T>;
53 using type = Sacado::Fad::DFad<T>;
59 using type = Sacado::Fad::DFad<T>;
65 using type = Sacado::Fad::DFad<T>;
71 using type = Sacado::Fad::DFad<T>;
77 using type = Sacado::Fad::DFad<T>;
80 template <
typename T,
typename U>
83 using type = Sacado::Fad::DFad<typename ProductType<T, U>::type>;
93 template <
typename T,
typename U>
100 template <
typename T,
typename U>
107 template <
typename T,
typename U>
112 typename Sacado::Fad::Expr<U>::value_type>
::type;
118 template <
typename T>
121 using type = Sacado::Fad::DFad<T>;
124 template <
typename T>
127 using type =
typename Sacado::Fad::Expr<T>::value_type;
138 template <
typename T>
141 using type = Sacado::Rad::ADvar<T>;
144 template <
typename T>
147 using type = Sacado::Rad::ADvar<T>;
150 template <
typename T>
153 using type = Sacado::Rad::ADvar<T>;
156 template <
typename T>
159 using type = Sacado::Rad::ADvar<T>;
162 template <
typename T>
165 using type = Sacado::Rad::ADvar<T>;
168 template <
typename T>
171 using type = Sacado::Rad::ADvar<T>;
174 template <
typename T,
typename U>
177 using type = Sacado::Rad::ADvar<typename ProductType<T, U>::type>;
182 template <
typename T>
185 using type = Sacado::Rad::ADvari<T>;
188 template <
typename T>
191 using type = Sacado::Rad::ADvari<T>;
194 template <
typename T>
197 using type = Sacado::Rad::ADvari<T>;
200 template <
typename T>
203 using type = Sacado::Rad::ADvari<T>;
206 template <
typename T>
209 using type = Sacado::Rad::ADvari<T>;
212 template <
typename T>
215 using type = Sacado::Rad::ADvari<T>;
218 template <
typename T,
typename U>
221 using type = Sacado::Rad::ADvari<typename ProductType<T, U>::type>;
226 template <
typename T,
typename U>
229 using type = Sacado::Rad::ADvar<typename ProductType<T, U>::type>;
232 template <
typename T,
typename U>
235 using type = Sacado::Rad::ADvar<typename ProductType<T, U>::type>;
241 template <
typename T>
244 using type = Sacado::Rad::ADvar<T>;
248 template <
typename T>
251 using type = Sacado::Rad::ADvari<T>;
#define DEAL_II_NAMESPACE_OPEN
#define DEAL_II_NAMESPACE_CLOSE
Sacado::Fad::DFad< T > type
typename Sacado::Fad::Expr< T >::value_type type
Sacado::Rad::ADvar< T > type
Sacado::Rad::ADvari< T > type
Sacado::Fad::DFad< typename ProductType< T, U >::type > type
Sacado::Fad::DFad< T > type
Sacado::Fad::DFad< T > type
Sacado::Fad::DFad< T > type
typename ProductType< typename Sacado::Fad::Expr< T >::value_type, typename Sacado::Fad::Expr< U >::value_type >::type type
typename ProductType< typename Sacado::Fad::Expr< T >::value_type, U >::type type
Sacado::Rad::ADvar< typename ProductType< T, U >::type > type
Sacado::Rad::ADvar< typename ProductType< T, U >::type > type
Sacado::Rad::ADvar< T > type
Sacado::Rad::ADvar< T > type
Sacado::Rad::ADvar< T > type
Sacado::Rad::ADvar< typename ProductType< T, U >::type > type
Sacado::Rad::ADvari< typename ProductType< T, U >::type > type
Sacado::Rad::ADvari< T > type
Sacado::Rad::ADvari< T > type
Sacado::Rad::ADvari< T > type
typename ProductType< T, typename Sacado::Fad::Expr< U >::value_type >::type type
Sacado::Fad::DFad< T > type
Sacado::Rad::ADvar< T > type
Sacado::Rad::ADvari< T > type
Sacado::Fad::DFad< T > type
Sacado::Rad::ADvar< T > type
Sacado::Rad::ADvari< T > type
Sacado::Fad::DFad< T > type
Sacado::Rad::ADvar< T > type
Sacado::Rad::ADvari< T > type
decltype(std::declval< T >() *std::declval< U >()) type