49 #ifndef SACADO_FAD_SFADTRAITS_HPP
50 #define SACADO_FAD_SFADTRAITS_HPP
54 #ifdef SACADO_NEW_FAD_DESIGN_IS_DEFAULT
66 template <
typename T,
int Num>
class SFad;
76 template <typename ValueT,
int Num>
82 template <
typename ValueT,
int Num>
88 template <
typename ValueT,
int Num>
94 template <
typename ValueT,
int Num>
96 static const bool value =
false;
100 template <
typename ValueT,
int Num>
106 template <
typename ValueT,
int Num>
115 template <
typename ValueT,
int Num>
125 template <
typename ValueT,
int Num>
128 std::stringstream ss;
129 ss <<
"Sacado::Fad::SFad< "
136 template <
typename ValueT,
int Num>
141 return x.isEqualTo(y);
146 template <
typename ValueT,
int Num>
152 template <
typename ValueT,
int Num>
158 template <
typename ValueT,
int Num>
164 template <
typename ValueT,
int Num>
176 #ifdef HAVE_SACADO_TEUCHOSNUMERICS
179 template <
typename ValueT,
int Num>
180 struct PromotionTraits< Sacado::
Fad::SFad<ValueT,Num>,
187 template <
typename ValueT,
int Num,
typename R>
188 struct PromotionTraits< Sacado::
Fad::SFad<ValueT,Num>,
R > {
193 template <
typename L,
typename ValueT,
int Num>
194 struct PromotionTraits< L, Sacado::
Fad::SFad<ValueT,Num> > {
203 #ifdef HAVE_SACADO_TEUCHOSCORE
206 template <
typename ValueT,
int Num>
207 struct ScalarTraits< Sacado::
Fad::SFad<ValueT,Num> > :
208 public Sacado::Fad::ScalarTraitsImp< Sacado::Fad::SFad<ValueT,Num> >
214 #ifdef HAVE_SACADO_TEUCHOSCOMM
217 template <
typename Ordinal,
typename ValueT,
int Num>
219 public Sacado::Fad::SerializationTraitsImp< Ordinal,
220 Sacado::Fad::SFad<ValueT,Num> >
223 template <
typename Ordinal,
typename ValueT,
int Num>
225 public Sacado::Fad::SerializerImp< Ordinal,
226 Sacado::Fad::SFad<ValueT,Num>,
227 ValueTypeSerializer<Ordinal,ValueT> >
230 typedef ValueTypeSerializer<Ordinal,ValueT> ValueSerializer;
231 typedef Sacado::Fad::SerializerImp< Ordinal,FadType,ValueSerializer> Base;
240 #if defined(HAVE_SACADO_KOKKOSCORE) && defined(HAVE_SACADO_TEUCHOSKOKKOSCOMM) && defined(HAVE_SACADO_VIEW_SPEC) && !defined(SACADO_DISABLE_FAD_VIEW_SPEC)
244 #endif // SACADO_NEW_FAD_DESIGN_IS_DEFAULT
246 #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.
Base template specification for IsSimdType.
#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
GeneralFad< StaticFixedStorage< T, Num > > SFad
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.