30 #ifndef SACADO_FAD_SLFADTRAITS_HPP 31 #define SACADO_FAD_SLFADTRAITS_HPP 39 template <
typename T,
int Num>
class SLFad;
49 template <
typename ValueT,
int Num>
55 template <
typename ValueT,
int Num>
61 template <
typename ValueT,
int Num>
67 template <
typename ValueT,
int Num>
69 static const bool value =
false;
73 template <
typename ValueT,
int Num>
74 struct Value< Fad::SLFad<ValueT,Num> > {
82 template <
typename ValueT,
int Num>
92 template <
typename ValueT,
int Num>
94 static std::string
eval() {
96 ss <<
"Sacado::Fad::SLFad< " 103 template <
typename ValueT,
int Num>
108 return x.isEqualTo(y);
113 template <
typename ValueT,
int Num>
119 template <
typename ValueT,
int Num>
127 #ifdef HAVE_SACADO_TEUCHOS 135 template <
typename ValueT,
int Num>
136 struct PromotionTraits<
Sacado::Fad::SLFad<ValueT,Num>,
144 template <
typename ValueT,
int Num,
typename R>
145 struct PromotionTraits<
Sacado::Fad::SLFad<ValueT,Num>,
R > {
151 template <
typename L,
typename ValueT,
int Num>
152 struct PromotionTraits< L,
Sacado::Fad::SLFad<ValueT,Num> > {
159 template <
typename ValueT,
int Num>
160 struct ScalarTraits<
Sacado::Fad::SLFad<ValueT,Num> > :
161 public Sacado::Fad::ScalarTraitsImp< Sacado::Fad::SLFad<ValueT,Num> >
165 template <
typename Ordinal,
typename ValueT,
int Num>
166 struct SerializationTraits<
Ordinal,
Sacado::Fad::SLFad<ValueT,Num> > :
167 public Sacado::Fad::SerializationTraitsImp< Ordinal,
168 Sacado::Fad::SLFad<ValueT,Num> >
172 template <
typename Ordinal,
typename ValueT,
int Num>
173 struct ValueTypeSerializer<
Ordinal,
Sacado::Fad::SLFad<ValueT,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;
186 #endif // HAVE_SACADO_TEUCHOS 188 #endif // SACADO_FAD_SFADTRAITS_HPP static std::string eval()
Base template specification for ScalarValue.
Base template specification for ScalarType.
static std::string eval()
Base template specification for string names of types.
Base template specification for IsADType.
Sacado::Fad::DFad< double > FadType
static KOKKOS_INLINE_FUNCTION const value_type & eval(const Fad::SLFad< ValueT, Num > &x)
Fad::SLFad< ValueT, Num >::ScalarT type
Base template specification for Value.
static KOKKOS_INLINE_FUNCTION const scalar_type & eval(const Fad::SLFad< ValueT, Num > &x)
#define KOKKOS_INLINE_FUNCTION
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)
static KOKKOS_INLINE_FUNCTION bool eval(const Fad::SLFad< ValueT, Num > &x, const Fad::SLFad< ValueT, Num > &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.