30 #ifndef SACADO_ELRFAD_SFADTRAITS_HPP
31 #define SACADO_ELRFAD_SFADTRAITS_HPP
39 template <
typename T,
int Num>
class SFad;
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>
82 template <
typename ValueT,
int Num>
92 template <
typename ValueT,
int Num>
94 static std::string
eval() {
96 ss <<
"Sacado::ELRFad::SFad< "
103 template <
typename ValueT,
int Num>
108 return x.isEqualTo(y);
113 template <
typename ValueT,
int Num>
119 template <
typename ValueT,
int Num>
125 template <
typename ValueT,
int Num>
131 template <
typename ValueT,
int Num>
143 #ifdef HAVE_SACADO_TEUCHOSNUMERICS
146 template <
typename ValueT,
int Num>
147 struct PromotionTraits< Sacado::
ELRFad::SFad<ValueT,Num>,
154 template <
typename ValueT,
int Num,
typename R>
155 struct PromotionTraits< Sacado::
ELRFad::SFad<ValueT,Num>,
R > {
160 template <
typename L,
typename ValueT,
int Num>
161 struct PromotionTraits< L, Sacado::
ELRFad::SFad<ValueT,Num> > {
170 #ifdef HAVE_SACADO_TEUCHOSCORE
173 template <
typename ValueT,
int Num>
174 struct ScalarTraits< Sacado::
ELRFad::SFad<ValueT,Num> > :
175 public Sacado::Fad::ScalarTraitsImp< Sacado::ELRFad::SFad<ValueT,Num> >
181 #ifdef HAVE_SACADO_TEUCHOSCOMM
184 template <
typename Ordinal,
typename ValueT,
int Num>
186 public Sacado::Fad::SerializationTraitsImp< Ordinal,
187 Sacado::ELRFad::SFad<ValueT,Num> >
190 template <
typename Ordinal,
typename ValueT,
int Num>
192 public Sacado::Fad::SerializerImp< Ordinal,
193 Sacado::ELRFad::SFad<ValueT,Num>,
194 ValueTypeSerializer<Ordinal,ValueT> >
197 typedef ValueTypeSerializer<Ordinal,ValueT> ValueSerializer;
198 typedef Sacado::Fad::SerializerImp< Ordinal,FadType,ValueSerializer> Base;
207 #if defined(HAVE_SACADO_KOKKOS) && defined(HAVE_SACADO_TEUCHOSKOKKOSCOMM) && defined(HAVE_SACADO_VIEW_SPEC) && !defined(SACADO_DISABLE_FAD_VIEW_SPEC)
211 #endif // SACADO_ELRFAD_SFADTRAITS_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.
ScalarType< ELRFad::SFad< ValueT, Num > >::type scalar_type
Base template specification for string names of types.
Base template specification for IsADType.
Sacado::Fad::DFad< double > FadType
Base template specification for static size.
Base template specification for Value.
static std::string eval()
static SACADO_INLINE_FUNCTION const value_type & eval(const ELRFad::SFad< ValueT, Num > &x)
static SACADO_INLINE_FUNCTION const scalar_type & eval(const ELRFad::SFad< ValueT, Num > &x)
Base template specification for testing equivalence.
ValueType< ELRFad::SFad< ValueT, Num > >::type value_type
static SACADO_INLINE_FUNCTION bool eval(const ELRFad::SFad< ValueT, Num > &x, const ELRFad::SFad< ValueT, Num > &y)
ELRFad::SFad< ValueT, Num >::ScalarT type
ValueType< ELRFad::SFad< ValueT, Num > >::type value_type
Base template specification for IsScalarType.
#define SACADO_SFAD_PROMOTE_SPEC(NS, FAD)
#define SACADO_INLINE_FUNCTION
static const unsigned value
GeneralFad< StaticFixedStorage< T, Num > > SFad
Base template specification for ValueType.
Base template specification for testing whether type is statically sized.