10 #ifndef SACADO_FAD_SLFADTRAITS_HPP
11 #define SACADO_FAD_SLFADTRAITS_HPP
15 #ifdef SACADO_NEW_FAD_DESIGN_IS_DEFAULT
27 template <
typename T,
int Num>
class SLFad;
37 template <typename ValueT,
int Num>
43 template <
typename ValueT,
int Num>
49 template <
typename ValueT,
int Num>
55 template <
typename ValueT,
int Num>
57 static const bool value =
false;
61 template <
typename ValueT,
int Num>
67 template <
typename ValueT,
int Num>
76 template <
typename ValueT,
int Num>
86 template <
typename ValueT,
int Num>
88 static std::string
eval() {
90 ss <<
"Sacado::Fad::SLFad< "
97 template <
typename ValueT,
int Num>
102 return x.isEqualTo(y);
107 template <
typename ValueT,
int Num>
113 template <
typename ValueT,
int Num>
125 #ifdef HAVE_SACADO_TEUCHOSNUMERICS
128 template <
typename ValueT,
int Num>
129 struct PromotionTraits< Sacado::
Fad::SLFad<ValueT,Num>,
136 template <
typename ValueT,
int Num,
typename R>
137 struct PromotionTraits< Sacado::
Fad::SLFad<ValueT,Num>,
R > {
142 template <
typename L,
typename ValueT,
int Num>
143 struct PromotionTraits< L, Sacado::
Fad::SLFad<ValueT,Num> > {
152 #ifdef HAVE_SACADO_TEUCHOSCORE
155 template <
typename ValueT,
int Num>
156 struct ScalarTraits< Sacado::
Fad::SLFad<ValueT,Num> > :
157 public Sacado::Fad::ScalarTraitsImp< Sacado::Fad::SLFad<ValueT,Num> >
163 #ifdef HAVE_SACADO_TEUCHOSCOMM
166 template <
typename Ordinal,
typename ValueT,
int Num>
168 public Sacado::Fad::SerializationTraitsImp< Ordinal,
169 Sacado::Fad::SLFad<ValueT,Num> >
172 template <
typename Ordinal,
typename ValueT,
int Num>
174 public Sacado::Fad::SerializerImp< Ordinal,
175 Sacado::Fad::SLFad<ValueT,Num>,
176 ValueTypeSerializer<Ordinal,ValueT> >
179 typedef ValueTypeSerializer<Ordinal,ValueT> ValueSerializer;
180 typedef Sacado::Fad::SerializerImp< Ordinal,FadType,ValueSerializer> Base;
189 #if defined(HAVE_SACADO_KOKKOS) && defined(HAVE_SACADO_TEUCHOSKOKKOSCOMM) && defined(HAVE_SACADO_VIEW_SPEC) && !defined(SACADO_DISABLE_FAD_VIEW_SPEC)
193 #endif // SACADO_NEW_FAD_DESIGN_IS_DEFAULT
195 #endif // SACADO_FAD_SFADTRAITS_HPP
static SACADO_INLINE_FUNCTION const T & eval(const T &x)
static std::string eval()
static SACADO_INLINE_FUNCTION const scalar_type & eval(const Fad::SLFad< ValueT, Num > &x)
Base template specification for ScalarValue.
Base template specification for ScalarType.
static std::string eval()
Base template specification for string names of types.
GeneralFad< StaticStorage< T, Num > > SLFad
Base template specification for IsADType.
Sacado::Fad::DFad< double > FadType
Fad::SLFad< ValueT, Num >::ScalarT type
Base template specification for Value.
Base template specification for IsSimdType.
static SACADO_INLINE_FUNCTION const value_type & eval(const Fad::SLFad< ValueT, Num > &x)
Base template specification for testing equivalence.
ScalarType< Fad::SLFad< ValueT, Num > >::type scalar_type
ValueType< Fad::SLFad< ValueT, Num > >::type value_type
ValueType< Fad::SLFad< ValueT, Num > >::type value_type
Base template specification for IsScalarType.
#define SACADO_SFAD_PROMOTE_SPEC(NS, FAD)
#define SACADO_INLINE_FUNCTION
static SACADO_INLINE_FUNCTION bool eval(const Fad::SLFad< ValueT, Num > &x, const Fad::SLFad< ValueT, Num > &y)
Base template specification for ValueType.
Base template specification for testing whether type is statically sized.