30#ifndef SACADO_LFAD_LOGICALSPARSETRAITS_HPP
31#define SACADO_LFAD_LOGICALSPARSETRAITS_HPP
45 template <
typename T>
class Expr;
52 template <
typename ValT,
typename LogT>
58 template <
typename ValT,
typename LogT>
64 template <
typename ValT,
typename LogT>
70 template <
typename ValT,
typename LogT>
72 static const bool value =
false;
76 template <
typename ValT,
typename LogT>
84 template <
typename ValT,
typename LogT>
93 template <
typename ValT,
typename LogT>
95 static std::string
eval() {
96 return std::string(
"Sacado::LFad::LoginalSparse< ") +
102 template <
typename ValT,
typename LogT>
106 return x.isEqualTo(y);
111 template <
typename ValT,
typename LogT>
123#ifdef HAVE_SACADO_TEUCHOSNUMERICS
124#include "Teuchos_PromotionTraits.hpp"
126 template <
typename ValT,
typename LogT>
127 struct PromotionTraits<
Sacado::LFad::LogicalSparse<ValT,LogT>,
134 template <
typename ValT,
typename LogT,
typename R>
135 struct PromotionTraits< Sacado::LFad::LogicalSparse<ValT,LogT>,
R > {
136 typedef typename Sacado::Promote< Sacado::LFad::LogicalSparse<ValT,LogT>,
R >::type
140 template <
typename L,
typename ValT,
typename LogT>
141 struct PromotionTraits< L, Sacado::LFad::LogicalSparse<ValT,LogT> > {
143 typedef typename Sacado::Promote< L, Sacado::LFad::LogicalSparse<ValT,LogT> >::type
#define SACADO_AD_PROMOTE_SPEC2(NS, AD)
SACADO_INLINE_FUNCTION const T & val() const
Returns value.
Wrapper for a generic expression template.
User inteface class for computing the logical sparsity pattern of a derivative via forward-mode AD.
ExprType::value_type value_type
Typename of values.
Namespace for logical forward-mode AD classes.
Base template specification for IsADType.
static bool eval(const LFad::LogicalSparse< ValT, LogT > &x, const LFad::LogicalSparse< ValT, LogT > &y)
Base template specification for testing equivalence.
Base template specification for IsScalarType.
Base template specification for testing whether type is statically sized.
ScalarType< typenameLFad::LogicalSparse< ValT, LogT >::value_type >::type type
Base template specification for ScalarType.
ScalarType< LFad::LogicalSparse< ValT, LogT > >::type scalar_type
static const scalar_type & eval(const LFad::LogicalSparse< ValT, LogT > &x)
ValueType< LFad::LogicalSparse< ValT, LogT > >::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()
LFad::LogicalSparse< ValT, LogT >::value_type type
Base template specification for ValueType.
static const value_type & eval(const LFad::LogicalSparse< ValT, LogT > &x)
ValueType< LFad::LogicalSparse< ValT, LogT > >::type value_type
Base template specification for Value.