30 #ifndef SACADO_FAD_DMFADTRAITS_HPP
31 #define SACADO_FAD_DMFADTRAITS_HPP
35 #ifdef SACADO_NEW_FAD_DESIGN_IS_DEFAULT
46 template <
typename T>
class DMFad;
56 template <typename ValueT>
62 template <
typename ValueT>
68 template <
typename ValueT>
74 template <
typename ValueT>
76 static const bool value =
false;
80 template <
typename ValueT>
86 template <
typename ValueT>
94 template <
typename ValueT>
103 template <
typename ValueT>
106 return std::string(
"Sacado::Fad::DMFad< ") +
111 template <
typename ValueT>
114 return x.isEqualTo(y);
119 template <
typename ValueT>
124 template <
typename T>
136 #ifdef HAVE_SACADO_TEUCHOSNUMERICS
139 template <
typename ValueT>
140 struct PromotionTraits< Sacado::
Fad::DMFad<ValueT>,
147 template <
typename ValueT,
typename R>
148 struct PromotionTraits< Sacado::
Fad::DMFad<ValueT>,
R > {
153 template <
typename L,
typename ValueT>
154 struct PromotionTraits< L, Sacado::
Fad::DMFad<ValueT> > {
163 #ifdef HAVE_SACADO_TEUCHOSCORE
166 template <
typename ValueT>
167 struct ScalarTraits< Sacado::
Fad::DMFad<ValueT> > :
168 public Sacado::Fad::ScalarTraitsImp< Sacado::Fad::DMFad<ValueT> >
174 #ifdef HAVE_SACADO_TEUCHOSCOMM
177 template <
typename Ordinal,
typename ValueT>
179 public Sacado::Fad::SerializationTraitsImp< Ordinal,
180 Sacado::Fad::DMFad<ValueT> >
183 template <
typename Ordinal,
typename ValueT>
185 public Sacado::Fad::SerializerImp< Ordinal,
186 Sacado::Fad::DMFad<ValueT>,
187 ValueTypeSerializer<Ordinal,ValueT> >
190 typedef ValueTypeSerializer<Ordinal,ValueT> ValueSerializer;
191 typedef Sacado::Fad::SerializerImp< Ordinal,FadType,ValueSerializer> Base;
199 #endif // SACADO_NEW_FAD_DESIGN_IS_DEFAULT
201 #endif // SACADO_FAD_DMFADTRAITS_HPP
static std::string eval()
Base template specification for ScalarValue.
Base template specification for ScalarType.
Base template specification for whether a type is a Fad type.
Base template specification for string names of types.
GeneralFad< MemPoolStorage< T > > DMFad
Base template specification for IsADType.
Sacado::Fad::DFad< double > FadType
ScalarType< Fad::DMFad< ValueT > >::type scalar_type
Base template specification for Value.
ValueType< Fad::DMFad< ValueT > >::type value_type
ValueType< Fad::DMFad< ValueT > >::type value_type
Base template specification for IsSimdType.
#define SACADO_FAD_PROMOTE_SPEC(NS, FAD)
Base template specification for testing equivalence.
Fad::DMFad< ValueT >::ScalarT type
static const scalar_type & eval(const Fad::DMFad< ValueT > &x)
static std::string eval()
Base template specification for IsScalarType.
Forward-mode AD class using dynamic memory allocation and expression templates.
ScalarType< ValueT >::type ScalarT
Typename of scalar's (which may be different from ValueT)
static const value_type & eval(const Fad::DMFad< ValueT > &x)
static bool eval(const Fad::DMFad< ValueT > &x, const Fad::DMFad< ValueT > &y)
Base template specification for ValueType.
static KOKKOS_INLINE_FUNCTION const T & eval(const T &x)
Base template specification for testing whether type is statically sized.