Home | History | Annotate | Download | only in Core

Lines Matching refs:reverse

20 struct traits<Reverse<MatrixType, Direction> >
49 /** \class Reverse
52 * \brief Expression of the reverse of a vector or matrix
54 * \tparam MatrixType the type of the object of which we are taking the reverse
55 * \tparam Direction defines the direction of the reverse operation, can be Vertical, Horizontal, or BothDirections
57 * This class represents an expression of the reverse of a vector.
58 * It is the return type of MatrixBase::reverse() and VectorwiseOp::reverse()
61 * \sa MatrixBase::reverse(), VectorwiseOp::reverse()
63 template<typename MatrixType, int Direction> class Reverse
64 : public internal::dense_xpr_base< Reverse<MatrixType, Direction> >::type
68 typedef typename internal::dense_xpr_base<Reverse>::type Base;
69 EIGEN_DENSE_PUBLIC_INTERFACE(Reverse)
88 EIGEN_DEVICE_FUNC explicit inline Reverse(const MatrixType& matrix) : m_matrix(matrix) { }
90 EIGEN_INHERIT_ASSIGNMENT_OPERATORS(Reverse)
110 /** \returns an expression of the reverse of *this.
118 DenseBase<Derived>::reverse()
124 //reverse const overload moved DenseBase.h due to a CUDA compiler bug
126 /** This is the "in place" version of reverse: it reverses \c *this.
132 * - less error prone: doing the same operation with .reverse() requires special care:
133 * \code m = m.reverse().eval(); \endcode
134 * - this API enables reverse operations without the need for a temporary
137 * \sa VectorwiseOp::reverseInPlace(), reverse() */
144 leftCols(half).swap(rightCols(half).reverse());
148 col(half).head(half2).swap(col(half).tail(half2).reverse());
154 topRows(half).swap(bottomRows(half).reverse());
158 row(half).head(half2).swap(row(half).tail(half2).reverse());
175 xpr.topRows(half).swap(xpr.bottomRows(half).colwise().reverse());
186 xpr.leftCols(half).swap(xpr.rightCols(half).rowwise().reverse());
192 /** This is the "in place" version of VectorwiseOp::reverse: it reverses each column or row of \c *this.
198 * - less error prone: doing the same operation with .reverse() requires special care:
199 * \code m = m.reverse().eval(); \endcode
200 * - this API enables reverse operations without the need for a temporary
202 * \sa DenseBase::reverseInPlace(), reverse() */