30 #ifndef SACADO_FAD_DFADTRAITS_HPP
31 #define SACADO_FAD_DFADTRAITS_HPP
35 #ifdef SACADO_NEW_FAD_DESIGN_IS_DEFAULT
46 template <
typename T>
class DFad;
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>
95 template <
typename ValueT>
105 template <
typename ValueT>
108 return std::string(
"Sacado::Fad::DFad< ") +
113 template <
typename ValueT>
117 return x.isEqualTo(y);
122 template <
typename ValueT>
128 template <
typename ValueT>
140 #ifdef HAVE_SACADO_TEUCHOSNUMERICS
143 template <
typename ValueT>
144 struct PromotionTraits< Sacado::
Fad::DFad<ValueT>,
151 template <
typename ValueT,
typename R>
152 struct PromotionTraits< Sacado::
Fad::DFad<ValueT>,
R > {
157 template <
typename L,
typename ValueT>
158 struct PromotionTraits< L, Sacado::
Fad::DFad<ValueT> > {
167 #ifdef HAVE_SACADO_TEUCHOSCORE
170 template <
typename ValueT>
171 struct ScalarTraits< Sacado::
Fad::DFad<ValueT> > :
172 public Sacado::Fad::ScalarTraitsImp< Sacado::Fad::DFad<ValueT> >
178 #ifdef HAVE_SACADO_TEUCHOSCOMM
181 template <
typename Ordinal,
typename ValueT>
183 public Sacado::Fad::SerializationTraitsImp< Ordinal,
184 Sacado::Fad::DFad<ValueT> >
187 template <
typename Ordinal,
typename ValueT>
189 public Sacado::Fad::SerializerImp< Ordinal,
190 Sacado::Fad::DFad<ValueT>,
191 ValueTypeSerializer<Ordinal,ValueT> >
194 typedef ValueTypeSerializer<Ordinal,ValueT> ValueSerializer;
195 typedef Sacado::Fad::SerializerImp< Ordinal,FadType,ValueSerializer> Base;
204 #if defined(HAVE_SACADO_KOKKOS) && defined(HAVE_SACADO_TEUCHOSKOKKOSCOMM) && defined(HAVE_SACADO_VIEW_SPEC) && !defined(SACADO_DISABLE_FAD_VIEW_SPEC)
208 #endif // SACADO_NEW_FAD_DESIGN_IS_DEFAULT
210 #endif // SACADO_FAD_DFADTRAITS_HPP
static SACADO_INLINE_FUNCTION const T & eval(const T &x)
static std::string eval()
Base template specification for ScalarValue.
Base template specification for ScalarType.
Base template specification for string names of types.
Base template specification for IsADType.
Sacado::Fad::DFad< double > FadType
Fad::DFad< ValueT >::ScalarT type
static SACADO_INLINE_FUNCTION bool eval(const Fad::DFad< ValueT > &x, const Fad::DFad< ValueT > &y)
static SACADO_INLINE_FUNCTION const value_type & eval(const Fad::DFad< ValueT > &x)
static std::string eval()
Base template specification for Value.
Base template specification for IsSimdType.
#define SACADO_FAD_PROMOTE_SPEC(NS, FAD)
GeneralFad< DynamicStorage< T > > DFad
Base template specification for testing equivalence.
static SACADO_INLINE_FUNCTION const scalar_type & eval(const Fad::DFad< ValueT > &x)
ScalarType< Fad::DFad< ValueT > >::type scalar_type
ValueType< Fad::DFad< ValueT > >::type value_type
ValueType< Fad::DFad< ValueT > >::type value_type
Base template specification for IsScalarType.
#define SACADO_INLINE_FUNCTION
Base template specification for ValueType.
Base template specification for testing whether type is statically sized.