49#ifndef SACADO_ELRCACHEFAD_DFADTRAITS_HPP
50#define SACADO_ELRCACHEFAD_DFADTRAITS_HPP
56 namespace ELRCacheFad {
57 template <
typename T>
class DFad;
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>
92 struct Value< ELRCacheFad::DFad<ValueT> > {
100 template <
typename ValueT>
110 template <
typename ValueT>
113 return std::string(
"Sacado::ELRCacheFad::DFad< ") +
118 template <
typename ValueT>
123 return x.isEqualTo(
y);
128 template <
typename ValueT>
134 template <
typename ValueT>
146#ifdef HAVE_SACADO_TEUCHOSNUMERICS
147#include "Teuchos_PromotionTraits.hpp"
149 template <
typename ValueT>
150 struct PromotionTraits<
Sacado::ELRCacheFad::DFad<ValueT>,
157 template <
typename ValueT,
typename R>
158 struct PromotionTraits<
Sacado::ELRCacheFad::DFad<ValueT>,
R > {
163 template <
typename L,
typename ValueT>
164 struct PromotionTraits< L,
Sacado::ELRCacheFad::DFad<ValueT> > {
173#ifdef HAVE_SACADO_TEUCHOSCORE
176 template <
typename ValueT>
177 struct ScalarTraits<
Sacado::ELRCacheFad::DFad<ValueT> > :
178 public Sacado::Fad::ScalarTraitsImp< Sacado::ELRCacheFad::DFad<ValueT> >
184#ifdef HAVE_SACADO_TEUCHOSCOMM
187 template <
typename Ordinal,
typename ValueT>
188 struct SerializationTraits<
Ordinal,
Sacado::ELRCacheFad::DFad<ValueT> > :
189 public Sacado::Fad::SerializationTraitsImp< Ordinal,
190 Sacado::ELRCacheFad::DFad<ValueT> >
193 template <
typename Ordinal,
typename ValueT>
194 struct ValueTypeSerializer<
Ordinal,
Sacado::ELRCacheFad::DFad<ValueT> > :
195 public Sacado::Fad::SerializerImp< Ordinal,
196 Sacado::ELRCacheFad::DFad<ValueT>,
197 ValueTypeSerializer<Ordinal,ValueT> >
200 typedef ValueTypeSerializer<Ordinal,ValueT> ValueSerializer;
201 typedef Sacado::Fad::SerializerImp< Ordinal,FadType,ValueSerializer> Base;
202 ValueTypeSerializer(
const Teuchos::RCP<const ValueSerializer>& vs,
210#if defined(HAVE_SACADO_KOKKOSCORE) && defined(HAVE_SACADO_TEUCHOSKOKKOSCOMM) && defined(HAVE_SACADO_VIEW_SPEC) && !defined(SACADO_DISABLE_FAD_VIEW_SPEC)
#define SACADO_INLINE_FUNCTION
#define SACADO_FAD_PROMOTE_SPEC(NS, FAD)
Sacado::Fad::DFad< double > FadType
Base template specification for IsADType.
static SACADO_INLINE_FUNCTION bool eval(const ELRCacheFad::DFad< ValueT > &x, const ELRCacheFad::DFad< ValueT > &y)
Base template specification for testing equivalence.
Base template specification for IsScalarType.
Base template specification for testing whether type is statically sized.
ELRCacheFad::DFad< ValueT >::ScalarT type
Base template specification for ScalarType.
ScalarType< ELRCacheFad::DFad< ValueT > >::type scalar_type
static SACADO_INLINE_FUNCTION const scalar_type & eval(const ELRCacheFad::DFad< ValueT > &x)
ValueType< ELRCacheFad::DFad< 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.
static SACADO_INLINE_FUNCTION const value_type & eval(const ELRCacheFad::DFad< ValueT > &x)
ValueType< ELRCacheFad::DFad< ValueT > >::type value_type
Base template specification for Value.