49#ifndef SACADO_FAD_SIMPLEFADTRAITS_HPP
50#define SACADO_FAD_SIMPLEFADTRAITS_HPP
57 template <
typename T>
class SimpleFad;
67 template <
typename ValueT>
73 template <
typename ValueT>
79 template <
typename ValueT>
85 template <
typename ValueT>
87 static const bool value =
false;
91 template <
typename ValueT>
97 template <
typename ValueT>
98 struct Value< Fad::SimpleFad<ValueT> > {
105 template <
typename ValueT>
114 template <
typename ValueT>
117 return std::string(
"Sacado::Fad::SimpleFad< ") +
122 template <
typename ValueT>
126 return x.isEqualTo(
y);
131 template <
typename ValueT>
137 template <
typename ValueT>
138 struct IsFad< Fad::SimpleFad<ValueT> > {
149#ifdef HAVE_SACADO_TEUCHOSNUMERICS
150#include "Teuchos_PromotionTraits.hpp"
152 template <
typename ValueT>
153 struct PromotionTraits<
Sacado::Fad::SimpleFad<ValueT>,
160 template <
typename ValueT,
typename R>
161 struct PromotionTraits<
Sacado::Fad::SimpleFad<ValueT>,
R > {
166 template <
typename L,
typename ValueT>
167 struct PromotionTraits< L,
Sacado::Fad::SimpleFad<ValueT> > {
176#ifdef HAVE_SACADO_TEUCHOSCORE
179 template <
typename ValueT>
180 struct ScalarTraits<
Sacado::Fad::SimpleFad<ValueT> > :
187#ifdef HAVE_SACADO_TEUCHOSCOMM
190 template <
typename Ordinal,
typename ValueT>
191 struct SerializationTraits<
Ordinal,
Sacado::Fad::SimpleFad<ValueT> > :
193 Sacado::Fad::SimpleFad<ValueT> >
196 template <
typename Ordinal,
typename ValueT>
197 struct ValueTypeSerializer<
Ordinal,
Sacado::Fad::SimpleFad<ValueT> > :
199 Sacado::Fad::SimpleFad<ValueT>,
200 ValueTypeSerializer<Ordinal,ValueT> >
203 typedef ValueTypeSerializer<Ordinal,ValueT> ValueSerializer;
205 ValueTypeSerializer(
const Teuchos::RCP<const ValueSerializer>& vs,
#define SACADO_FAD_PROMOTE_SPEC(NS, FAD)
Sacado::Fad::DFad< double > FadType
Fad specializations for Teuchos::BLAS wrappers.
Forward-mode AD class using dynamic memory allocation but no expression templates.
ScalarType< ValueT >::type ScalarT
Typename of scalar's (which may be different from ValueT)
Base template specification for IsADType.
static bool eval(const Fad::SimpleFad< ValueT > &x, const Fad::SimpleFad< ValueT > &y)
Base template specification for testing equivalence.
Base template specification for whether a type is a Fad type.
Base template specification for IsScalarType.
Base template specification for IsSimdType.
Base template specification for testing whether type is statically sized.
Fad::SimpleFad< ValueT >::ScalarT type
Base template specification for ScalarType.
static const scalar_type & eval(const Fad::SimpleFad< ValueT > &x)
ScalarType< Fad::SimpleFad< ValueT > >::type scalar_type
ValueType< Fad::SimpleFad< ValueT > >::type value_type
Base template specification for ScalarValue.
static SACADO_INLINE_FUNCTION const T & eval(const T &x)
static std::string eval()
Base template specification for string names of types.
static std::string eval()
Base template specification for ValueType.
ValueType< Fad::SimpleFad< ValueT > >::type value_type
static const value_type & eval(const Fad::SimpleFad< ValueT > &x)
Base template specification for Value.