49 #ifndef SACADO_FAD_DFADTRAITS_HPP
50 #define SACADO_FAD_DFADTRAITS_HPP
54 #ifdef SACADO_NEW_FAD_DESIGN_IS_DEFAULT
65 template <
typename T>
class DFad;
75 template <typename ValueT>
81 template <
typename ValueT>
87 template <
typename ValueT>
93 template <
typename ValueT>
95 static const bool value =
false;
99 template <
typename ValueT>
105 template <
typename ValueT>
114 template <
typename ValueT>
124 template <
typename ValueT>
127 return std::string(
"Sacado::Fad::DFad< ") +
132 template <
typename ValueT>
136 return x.isEqualTo(y);
141 template <
typename ValueT>
147 template <
typename ValueT>
159 #ifdef HAVE_SACADO_TEUCHOSNUMERICS
162 template <
typename ValueT>
163 struct PromotionTraits< Sacado::
Fad::DFad<ValueT>,
170 template <
typename ValueT,
typename R>
171 struct PromotionTraits< Sacado::
Fad::DFad<ValueT>,
R > {
176 template <
typename L,
typename ValueT>
177 struct PromotionTraits< L, Sacado::
Fad::DFad<ValueT> > {
186 #ifdef HAVE_SACADO_TEUCHOSCORE
189 template <
typename ValueT>
190 struct ScalarTraits< Sacado::
Fad::DFad<ValueT> > :
191 public Sacado::Fad::ScalarTraitsImp< Sacado::Fad::DFad<ValueT> >
197 #ifdef HAVE_SACADO_TEUCHOSCOMM
200 template <
typename Ordinal,
typename ValueT>
202 public Sacado::Fad::SerializationTraitsImp< Ordinal,
203 Sacado::Fad::DFad<ValueT> >
206 template <
typename Ordinal,
typename ValueT>
208 public Sacado::Fad::SerializerImp< Ordinal,
209 Sacado::Fad::DFad<ValueT>,
210 ValueTypeSerializer<Ordinal,ValueT> >
213 typedef ValueTypeSerializer<Ordinal,ValueT> ValueSerializer;
214 typedef Sacado::Fad::SerializerImp< Ordinal,FadType,ValueSerializer> Base;
223 #if defined(HAVE_SACADO_KOKKOSCORE) && defined(HAVE_SACADO_TEUCHOSKOKKOSCOMM) && defined(HAVE_SACADO_VIEW_SPEC) && !defined(SACADO_DISABLE_FAD_VIEW_SPEC)
227 #endif // SACADO_NEW_FAD_DESIGN_IS_DEFAULT
229 #endif // SACADO_FAD_DFADTRAITS_HPP
static std::string eval()
static KOKKOS_INLINE_FUNCTION const scalar_type & eval(const Fad::DFad< ValueT > &x)
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 std::string eval()
Base template specification for Value.
Base template specification for IsSimdType.
#define SACADO_FAD_PROMOTE_SPEC(NS, FAD)
#define KOKKOS_INLINE_FUNCTION
GeneralFad< DynamicStorage< T > > DFad
Base template specification for testing equivalence.
static KOKKOS_INLINE_FUNCTION bool eval(const Fad::DFad< ValueT > &x, const Fad::DFad< ValueT > &y)
ScalarType< Fad::DFad< ValueT > >::type scalar_type
ValueType< Fad::DFad< ValueT > >::type value_type
ValueType< Fad::DFad< ValueT > >::type value_type
static KOKKOS_INLINE_FUNCTION const value_type & eval(const Fad::DFad< ValueT > &x)
Base template specification for IsScalarType.
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.