49 #ifndef SACADO_FAD_SFADTRAITS_HPP 50 #define SACADO_FAD_SFADTRAITS_HPP 58 template <
typename T,
int Num>
class SFad;
68 template <
typename ValueT,
int Num>
74 template <
typename ValueT,
int Num>
80 template <
typename ValueT,
int Num>
86 template <
typename ValueT,
int Num>
88 static const bool value =
false;
92 template <
typename ValueT,
int Num>
93 struct Value< Fad::SFad<ValueT,Num> > {
101 template <
typename ValueT,
int Num>
111 template <
typename ValueT,
int Num>
114 std::stringstream ss;
115 ss <<
"Sacado::Fad::SFad< " 122 template <
typename ValueT,
int Num>
127 return x.isEqualTo(y);
132 template <
typename ValueT,
int Num>
138 template <
typename ValueT,
int Num>
144 template <
typename ValueT,
int Num>
150 template <
typename ValueT,
int Num>
158 #ifdef HAVE_SACADO_TEUCHOS 159 #include "Teuchos_PromotionTraits.hpp" 160 #include "Teuchos_ScalarTraits.hpp" 166 template <
typename ValueT,
int Num>
167 struct PromotionTraits<
Sacado::Fad::SFad<ValueT,Num>,
175 template <
typename ValueT,
int Num,
typename R>
176 struct PromotionTraits<
Sacado::Fad::SFad<ValueT,Num>,
R > {
182 template <
typename L,
typename ValueT,
int Num>
183 struct PromotionTraits< L,
Sacado::Fad::SFad<ValueT,Num> > {
190 template <
typename ValueT,
int Num>
191 struct ScalarTraits<
Sacado::Fad::SFad<ValueT,Num> > :
192 public Sacado::Fad::ScalarTraitsImp< Sacado::Fad::SFad<ValueT,Num> >
196 template <
typename Ordinal,
typename ValueT,
int Num>
197 struct SerializationTraits<
Ordinal,
Sacado::Fad::SFad<ValueT,Num> > :
198 public Sacado::Fad::StaticSerializationTraitsImp< Ordinal,
199 Sacado::Fad::SFad<ValueT,Num> >
203 template <
typename Ordinal,
typename ValueT,
int Num>
204 struct ValueTypeSerializer<
Ordinal,
Sacado::Fad::SFad<ValueT,Num> > :
205 public Sacado::Fad::SerializerImp< Ordinal,
206 Sacado::Fad::SFad<ValueT,Num>,
207 ValueTypeSerializer<Ordinal,ValueT> >
210 typedef ValueTypeSerializer<Ordinal,ValueT> ValueSerializer;
211 typedef Sacado::Fad::SerializerImp< Ordinal,FadType,ValueSerializer> Base;
212 ValueTypeSerializer(
const Teuchos::RCP<const ValueSerializer>& vs,
217 #endif // HAVE_SACADO_TEUCHOS 219 #endif // SACADO_FAD_SFADTRAITS_HPP static std::string eval()
Base template specification for ScalarValue.
Base template specification for ScalarType.
static KOKKOS_INLINE_FUNCTION bool eval(const Fad::SFad< ValueT, Num > &x, const Fad::SFad< ValueT, Num > &y)
Base template specification for string names of types.
ValueType< Fad::SFad< ValueT, Num > >::type value_type
Base template specification for IsADType.
static std::string eval()
Sacado::Fad::DFad< double > FadType
Base template specification for static size.
Base template specification for Value.
#define KOKKOS_INLINE_FUNCTION
ValueType< Fad::SFad< ValueT, Num > >::type value_type
Base template specification for testing equivalence.
static KOKKOS_INLINE_FUNCTION const value_type & eval(const Fad::SFad< ValueT, Num > &x)
static KOKKOS_INLINE_FUNCTION const scalar_type & eval(const Fad::SFad< ValueT, Num > &x)
ScalarType< Fad::SFad< ValueT, Num > >::type scalar_type
Fad::SFad< ValueT, Num >::ScalarT type
Base template specification for IsScalarType.
#define SACADO_SFAD_PROMOTE_SPEC(NS, FAD)
static const unsigned value
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.