30 #ifndef SACADO_LFAD_LOGICALSPARSETRAITS_HPP
31 #define SACADO_LFAD_LOGICALSPARSETRAITS_HPP
38 template <
typename T1,
typename T2>
class LogicalSparse;
45 template <
typename T>
class Expr;
52 template <typename ValT, typename LogT>
58 template <
typename ValT,
typename LogT>
59 struct ValueType< LFad::LogicalSparse<ValT,LogT> > {
64 template <
typename ValT,
typename LogT>
65 struct IsADType< LFad::LogicalSparse<ValT,LogT> > {
70 template <
typename ValT,
typename LogT>
72 static const bool value =
false;
76 template <
typename ValT,
typename LogT>
77 struct Value< LFad::LogicalSparse<ValT,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>
103 struct IsEqual< LFad::LogicalSparse<ValT,LogT> > {
106 return x.isEqualTo(y);
111 template <
typename ValT,
typename LogT>
123 #ifdef HAVE_SACADO_TEUCHOSNUMERICS
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 > {
140 template <
typename L,
typename ValT,
typename LogT>
141 struct PromotionTraits< L, Sacado::LFad::LogicalSparse<ValT,LogT> > {
177 #endif // SACADO_LFAD_LOGICALSPARSETRAITS_HPP
static std::string eval()
Base template specification for ScalarValue.
Base template specification for ScalarType.
Base template specification for string names of types.
KOKKOS_INLINE_FUNCTION const ValT & val() const
Returns value.
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)
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.
static KOKKOS_INLINE_FUNCTION const T & eval(const T &x)
Base template specification for testing whether type is statically sized.
ScalarType< typename LFad::LogicalSparse< ValT, LogT >::value_type >::type type