hpp-constraints  6.0.0
Definition of basic geometric constraints for motion planning
matrix-view-operation.hh File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

 Eigen
 
 Eigen::internal
 

Macros

#define HPP_EIGEN_DECLARE_TEMPLATE_ARGS_MATRIX_BLOCK_VIEW    typename _ArgType, int _Rows, int _Cols, bool _allRows, bool _allCols
 
#define HPP_EIGEN_MATRIX_BLOCK_VIEW    MatrixBlockView<_ArgType, _Rows, _Cols, _allRows, _allCols>
 
#define HPP_EIGEN_SPECIALIZE_CwiseBinaryOpImpl(LHS_TPL, LHS_TYPE, RHS_TPL, RHS_TYPE)
 
#define HPP_EIGEN_DEFINE_CwiseBinaryOpImpl_evalTo(LHS_TPL, LHS_TYPE, RHS_TPL, RHS_TYPE)
 
#define HPP_EIGEN_SPECIALIZE_ASSIGN_SELECTOR_IMPL( LHS_TPL, LHS_TYPE, RHS_TPL, RHS_TYPE, need_to_transpose, EVAL_TO_BODY)
 
#define HPP_EIGEN_EVAL_TO_BODY_NORMAL   other.evalTo(dst);
 
#define HPP_EIGEN_EVAL_TO_BODY_TRANSPOSE
 
#define HPP_EIGEN_SPECIALIZE_ASSIGN_SELECTOR(LHS_TPL, LHS_TYPE, RHS_TPL, RHS_TYPE)
 
#define HPP_EIGEN_LHS_TPL   typename Lhs
 
#define HPP_EIGEN_LHS_TYPE   Lhs
 
#define HPP_EIGEN_RHS_TPL   HPP_EIGEN_DECLARE_TEMPLATE_ARGS_MATRIX_BLOCK_VIEW
 
#define HPP_EIGEN_RHS_TYPE   const HPP_EIGEN_MATRIX_BLOCK_VIEW
 
#define HPP_EIGEN_LHS_TPL   HPP_EIGEN_DECLARE_TEMPLATE_ARGS_MATRIX_BLOCK_VIEW
 
#define HPP_EIGEN_LHS_TYPE   const HPP_EIGEN_MATRIX_BLOCK_VIEW
 
#define HPP_EIGEN_RHS_TPL   typename Rhs
 
#define HPP_EIGEN_RHS_TYPE   Rhs
 
#define HPP_EIGEN_LHS_TPL   HPP_EIGEN_DECLARE_TEMPLATE_ARGS_MATRIX_BLOCK_VIEW
 
#define HPP_EIGEN_LHS_TYPE   const HPP_EIGEN_MATRIX_BLOCK_VIEW
 
#define HPP_EIGEN_RHS_TPL    typename _ArgType2, int _Rows2, int _Cols2, bool _allRows2, bool _allCols2
 
#define HPP_EIGEN_RHS_TYPE    const MatrixBlockView<_ArgType2, _Rows2, _Cols2, _allRows2, _allCols2>
 

Typedefs

typedef const Rhs_t::template block_t< typename Rhs_t::ArgType >::type Eigen::BlockRhs
 
typedef CwiseBinaryOp< BinaryOp, BlockLhs, BlockRhs > Eigen::BlockCwiseBOp
 

Functions

 Eigen::HPP_EIGEN_SPECIALIZE_CwiseBinaryOpImpl (HPP_EIGEN_LHS_TPL, HPP_EIGEN_LHS_TYPE, HPP_EIGEN_RHS_TPL, HPP_EIGEN_RHS_TYPE) HPP_EIGEN_DEFINE_CwiseBinaryOpImpl_evalTo(HPP_EIGEN_LHS_TPL
 
 Eigen::for (typename Rhs_t::block_iterator block(d.rhs());block.valid();++block)
 
 Eigen::for (typename Lhs_t::block_iterator block(d.lhs());block.valid();++block)
 
 Eigen::assert (d.lhs()._blocks()==d.rhs()._blocks())
 
Lhs_t::block_iterator Eigen::lblock (d.lhs())
 
Rhs_t::block_iterator Eigen::rblock (d.rhs())
 
 Eigen::while (lblock.valid())
 
 Eigen::assert (!lblock.valid() &&!rblock.valid())
 

Variables

 Eigen::HPP_EIGEN_LHS_TYPE
 
 Eigen::HPP_EIGEN_RHS_TPL
 
 Eigen::HPP_EIGEN_RHS_TYPE
 
const Derived & Eigen::d = derived()
 

Macro Definition Documentation

◆ HPP_EIGEN_DECLARE_TEMPLATE_ARGS_MATRIX_BLOCK_VIEW

#define HPP_EIGEN_DECLARE_TEMPLATE_ARGS_MATRIX_BLOCK_VIEW    typename _ArgType, int _Rows, int _Cols, bool _allRows, bool _allCols

Support for CwiseBinaryOp 3 possible cases:

  • view op view
  • matrix op view
  • view op matrix

◆ HPP_EIGEN_DEFINE_CwiseBinaryOpImpl_evalTo

#define HPP_EIGEN_DEFINE_CwiseBinaryOpImpl_evalTo (   LHS_TPL,
  LHS_TYPE,
  RHS_TPL,
  RHS_TYPE 
)
Value:
template <typename BinaryOp, LHS_TPL, RHS_TPL> \
template <typename OtherDerived> \
void CwiseBinaryOpImpl<BinaryOp, LHS_TYPE, RHS_TYPE, Dense>::evalTo( \
MatrixBase<OtherDerived>& other) const

◆ HPP_EIGEN_EVAL_TO_BODY_NORMAL

#define HPP_EIGEN_EVAL_TO_BODY_NORMAL   other.evalTo(dst);

◆ HPP_EIGEN_EVAL_TO_BODY_TRANSPOSE

#define HPP_EIGEN_EVAL_TO_BODY_TRANSPOSE
Value:
Transpose<ActualDerived> dstTrans(dst); \
other.evalTo(dstTrans);

◆ HPP_EIGEN_LHS_TPL [1/3]

#define HPP_EIGEN_LHS_TPL   typename Lhs

◆ HPP_EIGEN_LHS_TPL [2/3]

#define HPP_EIGEN_LHS_TPL   HPP_EIGEN_DECLARE_TEMPLATE_ARGS_MATRIX_BLOCK_VIEW

◆ HPP_EIGEN_LHS_TPL [3/3]

#define HPP_EIGEN_LHS_TPL   HPP_EIGEN_DECLARE_TEMPLATE_ARGS_MATRIX_BLOCK_VIEW

◆ HPP_EIGEN_LHS_TYPE [1/3]

#define HPP_EIGEN_LHS_TYPE   Lhs

◆ HPP_EIGEN_LHS_TYPE [2/3]

#define HPP_EIGEN_LHS_TYPE   const HPP_EIGEN_MATRIX_BLOCK_VIEW

◆ HPP_EIGEN_LHS_TYPE [3/3]

#define HPP_EIGEN_LHS_TYPE   const HPP_EIGEN_MATRIX_BLOCK_VIEW

◆ HPP_EIGEN_MATRIX_BLOCK_VIEW

#define HPP_EIGEN_MATRIX_BLOCK_VIEW    MatrixBlockView<_ArgType, _Rows, _Cols, _allRows, _allCols>

◆ HPP_EIGEN_RHS_TPL [1/3]

#define HPP_EIGEN_RHS_TPL   HPP_EIGEN_DECLARE_TEMPLATE_ARGS_MATRIX_BLOCK_VIEW

◆ HPP_EIGEN_RHS_TPL [2/3]

#define HPP_EIGEN_RHS_TPL   typename Rhs

◆ HPP_EIGEN_RHS_TPL [3/3]

#define HPP_EIGEN_RHS_TPL    typename _ArgType2, int _Rows2, int _Cols2, bool _allRows2, bool _allCols2

◆ HPP_EIGEN_RHS_TYPE [1/3]

#define HPP_EIGEN_RHS_TYPE   const HPP_EIGEN_MATRIX_BLOCK_VIEW

◆ HPP_EIGEN_RHS_TYPE [2/3]

#define HPP_EIGEN_RHS_TYPE   Rhs

◆ HPP_EIGEN_RHS_TYPE [3/3]

#define HPP_EIGEN_RHS_TYPE    const MatrixBlockView<_ArgType2, _Rows2, _Cols2, _allRows2, _allCols2>

◆ HPP_EIGEN_SPECIALIZE_ASSIGN_SELECTOR

#define HPP_EIGEN_SPECIALIZE_ASSIGN_SELECTOR (   LHS_TPL,
  LHS_TYPE,
  RHS_TPL,
  RHS_TYPE 
)
Value:
HPP_EIGEN_SPECIALIZE_ASSIGN_SELECTOR_IMPL( \
#define HPP_EIGEN_EVAL_TO_BODY_TRANSPOSE
Definition: matrix-view-operation.hh:106
#define HPP_EIGEN_LHS_TYPE
Definition: matrix-view-operation.hh:194
#define HPP_EIGEN_SPECIALIZE_ASSIGN_SELECTOR_IMPL( LHS_TPL, LHS_TYPE, RHS_TPL, RHS_TYPE, need_to_transpose, EVAL_TO_BODY)
Definition: matrix-view-operation.hh:86
#define HPP_EIGEN_RHS_TPL
Definition: matrix-view-operation.hh:195
#define HPP_EIGEN_EVAL_TO_BODY_NORMAL
Definition: matrix-view-operation.hh:105
#define HPP_EIGEN_LHS_TPL
Definition: matrix-view-operation.hh:193
#define HPP_EIGEN_RHS_TYPE
Definition: matrix-view-operation.hh:197

◆ HPP_EIGEN_SPECIALIZE_ASSIGN_SELECTOR_IMPL

#define HPP_EIGEN_SPECIALIZE_ASSIGN_SELECTOR_IMPL (   LHS_TPL,
  LHS_TYPE,
  RHS_TPL,
  RHS_TYPE,
  need_to_transpose,
  EVAL_TO_BODY 
)
Value:
template <typename Derived, typename BinaryOp, LHS_TPL, RHS_TPL> \
struct assign_selector<Derived, CwiseBinaryOp<BinaryOp, LHS_TYPE, RHS_TYPE>, \
false, need_to_transpose> { \
typedef CwiseBinaryOp<BinaryOp, LHS_TYPE, RHS_TYPE> CwiseDerived; \
static EIGEN_STRONG_INLINE Derived& run(Derived& dst, \
const CwiseDerived& o) { \
dst.resize(o.rows(), o.cols()); \
o.evalTo(dst); \
return dst; \
} \
template <typename ActualDerived, typename ActualOtherDerived> \
static EIGEN_STRONG_INLINE Derived& evalTo( \
ActualDerived& dst, const ActualOtherDerived& other) { \
EVAL_TO_BODY return dst; \
} \
};

◆ HPP_EIGEN_SPECIALIZE_CwiseBinaryOpImpl

#define HPP_EIGEN_SPECIALIZE_CwiseBinaryOpImpl (   LHS_TPL,
  LHS_TYPE,
  RHS_TPL,
  RHS_TYPE 
)
Value:
template <typename BinaryOp, LHS_TPL, RHS_TPL> \
class CwiseBinaryOpImpl<BinaryOp, LHS_TYPE, RHS_TYPE, Dense> \
: public internal::dense_xpr_base< \
CwiseBinaryOp<BinaryOp, LHS_TYPE, RHS_TYPE> >::type { \
typedef LHS_TYPE Lhs_t; \
typedef RHS_TYPE Rhs_t; \
typedef CwiseBinaryOp<BinaryOp, LHS_TYPE, RHS_TYPE> Derived; \
\
public: \
typedef typename internal::dense_xpr_base<Derived>::type Base; \
EIGEN_DENSE_PUBLIC_INTERFACE(Derived) \
\
template <typename OtherDerived> \
void evalTo(MatrixBase<OtherDerived>& other) const; \
};