10#ifndef EIGEN_SYMBOLIC_INDEX_H
11#define EIGEN_SYMBOLIC_INDEX_H
45template<
typename Arg1,
typename Arg2>
class AddExpr;
46template<
typename Arg1,
typename Arg2>
class ProductExpr;
51template<
typename IndexType=Index>
76template<
typename Derived>
80 const Derived&
derived()
const {
return *
static_cast<const Derived*
>(
this); }
92 template<
typename... Types>
93 Index eval(Types&&... values)
const {
return derived().eval_impl(std::make_tuple(values...)); }
142#if (!EIGEN_HAS_CXX14)
171 template<
typename OtherDerived>
175 template<
typename OtherDerived>
179 template<
typename OtherDerived>
183 template<
typename OtherDerived>
198template<
typename Tag>
212template<
typename tag>
233 template<
typename... Types>
234 Index eval_impl(
const std::tuple<Types...>& values)
const {
return std::get<SymbolValue<Tag> >(values).value(); }
238template<
typename Arg0>
250template<
typename Arg0,
typename Arg1>
263template<
typename Arg0,
typename Arg1>
276template<
typename Arg0,
typename Arg1>
ArrayXXi a
Definition Array_initializer_list_23_cxx11.cpp:1
#define EIGEN_CONSTEXPR
Definition Macros.h:787
Scalar * b
Definition benchVecAdd.cpp:17
Definition IntegralConstant.h:52
Definition SymbolicIndex.h:252
AddExpr(const Arg0 &arg0, const Arg1 &arg1)
Definition SymbolicIndex.h:254
Arg0 m_arg0
Definition SymbolicIndex.h:259
Index eval_impl(const T &values) const
Definition SymbolicIndex.h:257
Arg1 m_arg1
Definition SymbolicIndex.h:260
Definition SymbolicIndex.h:78
AddExpr< Derived, NegateExpr< OtherDerived > > operator-(const BaseExpr< OtherDerived > &b) const
Definition SymbolicIndex.h:176
NegateExpr< Derived > operator-() const
Definition SymbolicIndex.h:96
QuotientExpr< Derived, OtherDerived > operator/(const BaseExpr< OtherDerived > &b) const
Definition SymbolicIndex.h:184
AddExpr< Derived, ValueExpr< internal::FixedInt< N > > > operator+(internal::FixedInt< N >(*)()) const
Definition SymbolicIndex.h:144
Index eval(const T &values) const
Definition SymbolicIndex.h:89
QuotientExpr< Derived, ValueExpr< internal::FixedInt< N > > > operator/(internal::FixedInt< N >) const
Definition SymbolicIndex.h:126
AddExpr< Derived, ValueExpr< internal::FixedInt<-N > > > operator-(internal::FixedInt< N >) const
Definition SymbolicIndex.h:120
QuotientExpr< Derived, ValueExpr< internal::FixedInt< N > > > operator/(internal::FixedInt< N >(*)()) const
Definition SymbolicIndex.h:153
AddExpr< Derived, ValueExpr< internal::FixedInt<-N > > > operator-(internal::FixedInt< N >(*)()) const
Definition SymbolicIndex.h:147
friend AddExpr< NegateExpr< Derived >, ValueExpr< internal::FixedInt< N > > > operator-(internal::FixedInt< N >, const BaseExpr &b)
Definition SymbolicIndex.h:133
ProductExpr< Derived, ValueExpr<> > operator*(Index a) const
Definition SymbolicIndex.h:102
friend AddExpr< Derived, ValueExpr< internal::FixedInt< N > > > operator+(internal::FixedInt< N >, const BaseExpr &b)
Definition SymbolicIndex.h:130
friend ProductExpr< ValueExpr< internal::FixedInt< N > >, Derived > operator*(internal::FixedInt< N >, const BaseExpr &b)
Definition SymbolicIndex.h:136
friend AddExpr< Derived, ValueExpr< internal::FixedInt< N > > > operator+(internal::FixedInt< N >(*)(), const BaseExpr &b)
Definition SymbolicIndex.h:157
const Derived & derived() const
Definition SymbolicIndex.h:80
AddExpr< Derived, OtherDerived > operator+(const BaseExpr< OtherDerived > &b) const
Definition SymbolicIndex.h:172
friend AddExpr< NegateExpr< Derived >, ValueExpr<> > operator-(Index a, const BaseExpr &b)
Definition SymbolicIndex.h:109
friend QuotientExpr< ValueExpr<>, Derived > operator/(Index a, const BaseExpr &b)
Definition SymbolicIndex.h:113
friend AddExpr< Derived, ValueExpr<> > operator+(Index a, const BaseExpr &b)
Definition SymbolicIndex.h:107
ProductExpr< Derived, ValueExpr< internal::FixedInt< N > > > operator*(internal::FixedInt< N >) const
Definition SymbolicIndex.h:123
ProductExpr< Derived, ValueExpr< internal::FixedInt< N > > > operator*(internal::FixedInt< N >(*)()) const
Definition SymbolicIndex.h:150
QuotientExpr< Derived, ValueExpr<> > operator/(Index a) const
Definition SymbolicIndex.h:104
friend AddExpr< NegateExpr< Derived >, ValueExpr< internal::FixedInt< N > > > operator-(internal::FixedInt< N >(*)(), const BaseExpr &b)
Definition SymbolicIndex.h:160
ProductExpr< Derived, OtherDerived > operator*(const BaseExpr< OtherDerived > &b) const
Definition SymbolicIndex.h:180
friend ProductExpr< ValueExpr< internal::FixedInt< N > >, Derived > operator*(internal::FixedInt< N >(*)(), const BaseExpr &b)
Definition SymbolicIndex.h:163
AddExpr< Derived, ValueExpr<> > operator+(Index b) const
Definition SymbolicIndex.h:98
friend QuotientExpr< ValueExpr< internal::FixedInt< N > >, Derived > operator/(internal::FixedInt< N >(*)(), const BaseExpr &b)
Definition SymbolicIndex.h:166
AddExpr< Derived, ValueExpr< internal::FixedInt< N > > > operator+(internal::FixedInt< N >) const
Definition SymbolicIndex.h:117
friend QuotientExpr< ValueExpr< internal::FixedInt< N > >, Derived > operator/(internal::FixedInt< N >, const BaseExpr &b)
Definition SymbolicIndex.h:139
friend ProductExpr< ValueExpr<>, Derived > operator*(Index a, const BaseExpr &b)
Definition SymbolicIndex.h:111
AddExpr< Derived, ValueExpr<> > operator-(Index a) const
Definition SymbolicIndex.h:100
Definition SymbolicIndex.h:240
NegateExpr(const Arg0 &arg0)
Definition SymbolicIndex.h:242
Index eval_impl(const T &values) const
Definition SymbolicIndex.h:245
Arg0 m_arg0
Definition SymbolicIndex.h:247
Definition SymbolicIndex.h:265
ProductExpr(const Arg0 &arg0, const Arg1 &arg1)
Definition SymbolicIndex.h:267
Arg1 m_arg1
Definition SymbolicIndex.h:273
Index eval_impl(const T &values) const
Definition SymbolicIndex.h:270
Arg0 m_arg0
Definition SymbolicIndex.h:272
Definition SymbolicIndex.h:278
Index eval_impl(const T &values) const
Definition SymbolicIndex.h:283
Arg1 m_arg1
Definition SymbolicIndex.h:286
QuotientExpr(const Arg0 &arg0, const Arg1 &arg1)
Definition SymbolicIndex.h:280
Arg0 m_arg0
Definition SymbolicIndex.h:285
Definition SymbolicIndex.h:214
Index eval_impl(const SymbolValue< Tag > &values) const
Definition SymbolicIndex.h:229
SymbolValue< Tag > operator=(Index val) const
Definition SymbolicIndex.h:225
SymbolExpr()
Definition SymbolicIndex.h:219
tag Tag
Definition SymbolicIndex.h:217
Definition SymbolicIndex.h:200
SymbolValue(Index val)
Definition SymbolicIndex.h:203
Index value() const
Definition SymbolicIndex.h:206
Index m_value
Definition SymbolicIndex.h:208
Definition SymbolicIndex.h:43
EIGEN_CONSTEXPR Index eval_impl(const T &) const
Definition SymbolicIndex.h:68
ValueExpr()
Definition SymbolicIndex.h:66
Definition SymbolicIndex.h:52
IndexType m_value
Definition SymbolicIndex.h:58
IndexType eval_impl(const T &) const
Definition SymbolicIndex.h:56
ValueExpr(IndexType val)
Definition SymbolicIndex.h:54
@ N
Definition constructor.cpp:23
Namespace containing all symbols from the Eigen library.
Definition bench_norm.cpp:85
EIGEN_DEFAULT_DENSE_INDEX_TYPE Index
The Index type as used for the API.
Definition Meta.h:74
Definition BandTriangularSolver.h:13
Definition ForwardDeclarations.h:17
Definition SymbolicIndex.h:189
@ value
Definition SymbolicIndex.h:191