15#ifndef dealii_differentiation_ad_sacado_product_types_h
16#define dealii_differentiation_ad_sacado_product_types_h
22#ifdef DEAL_II_TRILINOS_WITH_SACADO
29# include <Sacado_Fad_DFad.hpp>
31# include <Sacado_trad.hpp>
46 using type = Sacado::Fad::DFad<T>;
52 using type = Sacado::Fad::DFad<T>;
58 using type = Sacado::Fad::DFad<T>;
64 using type = Sacado::Fad::DFad<T>;
70 using type = Sacado::Fad::DFad<T>;
76 using type = Sacado::Fad::DFad<T>;
79 template <
typename T,
typename U>
82 using type = Sacado::Fad::DFad<typename ProductType<T, U>::type>;
92 template <
typename T,
typename U>
99 template <
typename T,
typename U>
106 template <
typename T,
typename U>
111 typename Sacado::Fad::Expr<U>::value_type>
::type;
120 using type = Sacado::Fad::DFad<T>;
126 using type =
typename Sacado::Fad::Expr<T>::value_type;
137 template <
typename T>
140 using type = Sacado::Rad::ADvar<T>;
143 template <
typename T>
146 using type = Sacado::Rad::ADvar<T>;
149 template <
typename T>
152 using type = Sacado::Rad::ADvar<T>;
155 template <
typename T>
158 using type = Sacado::Rad::ADvar<T>;
161 template <
typename T>
164 using type = Sacado::Rad::ADvar<T>;
167 template <
typename T>
170 using type = Sacado::Rad::ADvar<T>;
173 template <
typename T,
typename U>
176 using type = Sacado::Rad::ADvar<typename ProductType<T, U>::type>;
181 template <
typename T>
184 using type = Sacado::Rad::ADvari<T>;
187 template <
typename T>
190 using type = Sacado::Rad::ADvari<T>;
193 template <
typename T>
196 using type = Sacado::Rad::ADvari<T>;
199 template <
typename T>
202 using type = Sacado::Rad::ADvari<T>;
205 template <
typename T>
208 using type = Sacado::Rad::ADvari<T>;
211 template <
typename T>
214 using type = Sacado::Rad::ADvari<T>;
217 template <
typename T,
typename U>
220 using type = Sacado::Rad::ADvari<typename ProductType<T, U>::type>;
225 template <
typename T,
typename U>
228 using type = Sacado::Rad::ADvar<typename ProductType<T, U>::type>;
231 template <
typename T,
typename U>
234 using type = Sacado::Rad::ADvar<typename ProductType<T, U>::type>;
243 using type = Sacado::Rad::ADvar<T>;
250 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