10 #ifndef SACADO_LFAD_LOGICALSPARSETRAITS_HPP
11 #define SACADO_LFAD_LOGICALSPARSETRAITS_HPP
18 template <
typename T1,
typename T2>
class LogicalSparse;
25 template <
typename T>
class Expr;
32 template <typename ValT, typename LogT>
38 template <
typename ValT,
typename LogT>
39 struct ValueType< LFad::LogicalSparse<ValT,LogT> > {
44 template <
typename ValT,
typename LogT>
45 struct IsADType< LFad::LogicalSparse<ValT,LogT> > {
50 template <
typename ValT,
typename LogT>
52 static const bool value =
false;
56 template <
typename ValT,
typename LogT>
57 struct Value< LFad::LogicalSparse<ValT,LogT> > {
64 template <
typename ValT,
typename LogT>
73 template <
typename ValT,
typename LogT>
75 static std::string
eval() {
76 return std::string(
"Sacado::LFad::LoginalSparse< ") +
82 template <
typename ValT,
typename LogT>
83 struct IsEqual< LFad::LogicalSparse<ValT,LogT> > {
86 return x.isEqualTo(y);
91 template <
typename ValT,
typename LogT>
93 static const bool value =
false;
103 #ifdef HAVE_SACADO_TEUCHOSNUMERICS
106 template <
typename ValT,
typename LogT>
107 struct PromotionTraits< Sacado::LFad::LogicalSparse<ValT,LogT>,
114 template <
typename ValT,
typename LogT,
typename R>
115 struct PromotionTraits< Sacado::LFad::LogicalSparse<ValT,LogT>,
R > {
120 template <
typename L,
typename ValT,
typename LogT>
121 struct PromotionTraits< L, Sacado::LFad::LogicalSparse<ValT,LogT> > {
157 #endif // SACADO_LFAD_LOGICALSPARSETRAITS_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.
Base template specification for string names of types.
Base template specification for IsADType.
static bool eval(const LFad::LogicalSparse< ValT, LogT > &x, const LFad::LogicalSparse< ValT, LogT > &y)
Base template specification for Value.
static const value_type & eval(const LFad::LogicalSparse< ValT, LogT > &x)
LFad::LogicalSparse< ValT, LogT >::value_type type
static std::string eval()
ScalarType< LFad::LogicalSparse< ValT, LogT > >::type scalar_type
Base template specification for testing equivalence.
ValueType< LFad::LogicalSparse< ValT, LogT > >::type value_type
static const scalar_type & eval(const LFad::LogicalSparse< ValT, LogT > &x)
#define SACADO_AD_PROMOTE_SPEC2(NS, AD)
SACADO_INLINE_FUNCTION const ValT & val() const
Returns value.
User inteface class for computing the logical sparsity pattern of a derivative via forward-mode AD...
ValueType< LFad::LogicalSparse< ValT, LogT > >::type value_type
ExprType::value_type value_type
Typename of values.
Base template specification for IsScalarType.
Base template specification for ValueType.
Base template specification for testing whether type is statically sized.
ScalarType< typename LFad::LogicalSparse< ValT, LogT >::value_type >::type type