aboutsummaryrefslogtreecommitdiffhomepage
path: root/Eigen/src/Array
diff options
context:
space:
mode:
Diffstat (limited to 'Eigen/src/Array')
-rw-r--r--Eigen/src/Array/CwiseOperators.h149
-rw-r--r--Eigen/src/Array/PartialRedux.h35
2 files changed, 160 insertions, 24 deletions
diff --git a/Eigen/src/Array/CwiseOperators.h b/Eigen/src/Array/CwiseOperators.h
index 0dd7bb01c..498bc86f2 100644
--- a/Eigen/src/Array/CwiseOperators.h
+++ b/Eigen/src/Array/CwiseOperators.h
@@ -29,7 +29,13 @@
/** \array_module
*
- * \returns an expression of the coefficient-wise square root of *this. */
+ * \returns an expression of the coefficient-wise square root of *this.
+ *
+ * Example: \include Cwise_sqrt.cpp
+ * Output: \verbinclude Cwise_sqrt.out
+ *
+ * \sa pow(), square()
+ */
template<typename ExpressionType>
inline const EIGEN_CWISE_UNOP_RETURN_TYPE(ei_scalar_sqrt_op)
Cwise<ExpressionType>::sqrt() const
@@ -39,7 +45,13 @@ Cwise<ExpressionType>::sqrt() const
/** \array_module
*
- * \returns an expression of the coefficient-wise exponential of *this. */
+ * \returns an expression of the coefficient-wise exponential of *this.
+ *
+ * Example: \include Cwise_exp.cpp
+ * Output: \verbinclude Cwise_exp.out
+ *
+ * \sa pow(), log(), sin(), cos()
+ */
template<typename ExpressionType>
inline const EIGEN_CWISE_UNOP_RETURN_TYPE(ei_scalar_exp_op)
Cwise<ExpressionType>::exp() const
@@ -49,7 +61,13 @@ Cwise<ExpressionType>::exp() const
/** \array_module
*
- * \returns an expression of the coefficient-wise logarithm of *this. */
+ * \returns an expression of the coefficient-wise logarithm of *this.
+ *
+ * Example: \include Cwise_log.cpp
+ * Output: \verbinclude Cwise_log.out
+ *
+ * \sa exp()
+ */
template<typename ExpressionType>
inline const EIGEN_CWISE_UNOP_RETURN_TYPE(ei_scalar_log_op)
Cwise<ExpressionType>::log() const
@@ -59,7 +77,13 @@ Cwise<ExpressionType>::log() const
/** \array_module
*
- * \returns an expression of the coefficient-wise cosine of *this. */
+ * \returns an expression of the coefficient-wise cosine of *this.
+ *
+ * Example: \include Cwise_cos.cpp
+ * Output: \verbinclude Cwise_cos.out
+ *
+ * \sa sin(), exp()
+ */
template<typename ExpressionType>
inline const EIGEN_CWISE_UNOP_RETURN_TYPE(ei_scalar_cos_op)
Cwise<ExpressionType>::cos() const
@@ -70,7 +94,13 @@ Cwise<ExpressionType>::cos() const
/** \array_module
*
- * \returns an expression of the coefficient-wise sine of *this. */
+ * \returns an expression of the coefficient-wise sine of *this.
+ *
+ * Example: \include Cwise_sin.cpp
+ * Output: \verbinclude Cwise_sin.out
+ *
+ * \sa cos(), exp()
+ */
template<typename ExpressionType>
inline const EIGEN_CWISE_UNOP_RETURN_TYPE(ei_scalar_sin_op)
Cwise<ExpressionType>::sin() const
@@ -81,7 +111,13 @@ Cwise<ExpressionType>::sin() const
/** \array_module
*
- * \returns an expression of the coefficient-wise power of *this to the given exponent. */
+ * \returns an expression of the coefficient-wise power of *this to the given exponent.
+ *
+ * Example: \include Cwise_pow.cpp
+ * Output: \verbinclude Cwise_pow.out
+ *
+ * \sa exp(), log()
+ */
template<typename ExpressionType>
inline const EIGEN_CWISE_UNOP_RETURN_TYPE(ei_scalar_pow_op)
Cwise<ExpressionType>::pow(const Scalar& exponent) const
@@ -92,7 +128,13 @@ Cwise<ExpressionType>::pow(const Scalar& exponent) const
/** \array_module
*
- * \returns an expression of the coefficient-wise inverse of *this. */
+ * \returns an expression of the coefficient-wise inverse of *this.
+ *
+ * Example: \include Cwise_inverse.cpp
+ * Output: \verbinclude Cwise_inverse.out
+ *
+ * \sa operator/(), operator*()
+ */
template<typename ExpressionType>
inline const EIGEN_CWISE_UNOP_RETURN_TYPE(ei_scalar_inverse_op)
Cwise<ExpressionType>::inverse() const
@@ -102,7 +144,13 @@ Cwise<ExpressionType>::inverse() const
/** \array_module
*
- * \returns an expression of the coefficient-wise square of *this. */
+ * \returns an expression of the coefficient-wise square of *this.
+ *
+ * Example: \include Cwise_square.cpp
+ * Output: \verbinclude Cwise_square.out
+ *
+ * \sa operator/(), operator*(), abs2()
+ */
template<typename ExpressionType>
inline const EIGEN_CWISE_UNOP_RETURN_TYPE(ei_scalar_square_op)
Cwise<ExpressionType>::square() const
@@ -112,7 +160,13 @@ Cwise<ExpressionType>::square() const
/** \array_module
*
- * \returns an expression of the coefficient-wise cube of *this. */
+ * \returns an expression of the coefficient-wise cube of *this.
+ *
+ * Example: \include Cwise_cube.cpp
+ * Output: \verbinclude Cwise_cube.out
+ *
+ * \sa square(), pow()
+ */
template<typename ExpressionType>
inline const EIGEN_CWISE_UNOP_RETURN_TYPE(ei_scalar_cube_op)
Cwise<ExpressionType>::cube() const
@@ -127,9 +181,10 @@ Cwise<ExpressionType>::cube() const
*
* \returns an expression of the coefficient-wise \< operator of *this and \a other
*
- * See MatrixBase::all() for an example.
+ * Example: \include Cwise_less.cpp
+ * Output: \verbinclude Cwise_less.out
*
- * \sa class CwiseBinaryOp
+ * \sa MatrixBase::all(), MatrixBase::any(), operator>(), operator<=()
*/
template<typename ExpressionType>
template<typename OtherDerived>
@@ -143,7 +198,10 @@ Cwise<ExpressionType>::operator<(const MatrixBase<OtherDerived> &other) const
*
* \returns an expression of the coefficient-wise \<= operator of *this and \a other
*
- * \sa class CwiseBinaryOp
+ * Example: \include Cwise_less_equal.cpp
+ * Output: \verbinclude Cwise_less_equal.out
+ *
+ * \sa MatrixBase::all(), MatrixBase::any(), operator>=(), operator<()
*/
template<typename ExpressionType>
template<typename OtherDerived>
@@ -157,9 +215,10 @@ Cwise<ExpressionType>::operator<=(const MatrixBase<OtherDerived> &other) const
*
* \returns an expression of the coefficient-wise \> operator of *this and \a other
*
- * See MatrixBase::all() for an example.
+ * Example: \include Cwise_greater.cpp
+ * Output: \verbinclude Cwise_greater.out
*
- * \sa class CwiseBinaryOp
+ * \sa MatrixBase::all(), MatrixBase::any(), operator>=(), operator<()
*/
template<typename ExpressionType>
template<typename OtherDerived>
@@ -173,7 +232,10 @@ Cwise<ExpressionType>::operator>(const MatrixBase<OtherDerived> &other) const
*
* \returns an expression of the coefficient-wise \>= operator of *this and \a other
*
- * \sa class CwiseBinaryOp
+ * Example: \include Cwise_greater_equal.cpp
+ * Output: \verbinclude Cwise_greater_equal.out
+ *
+ * \sa MatrixBase::all(), MatrixBase::any(), operator>(), operator<=()
*/
template<typename ExpressionType>
template<typename OtherDerived>
@@ -187,7 +249,15 @@ Cwise<ExpressionType>::operator>=(const MatrixBase<OtherDerived> &other) const
*
* \returns an expression of the coefficient-wise == operator of *this and \a other
*
- * \sa class CwiseBinaryOp
+ * \warning this performs an exact comparison, which is generally a bad idea with floating-point types.
+ * In order to check for equality between two vectors or matrices with floating-point coefficients, it is
+ * generally a far better idea to use a fuzzy comparison as provided by MatrixBase::isApprox() and
+ * MatrixBase::isMuchSmallerThan().
+ *
+ * Example: \include Cwise_equal_equal.cpp
+ * Output: \verbinclude Cwise_equal_equal.out
+ *
+ * \sa MatrixBase::all(), MatrixBase::any(), MatrixBase::isApprox(), MatrixBase::isMuchSmallerThan()
*/
template<typename ExpressionType>
template<typename OtherDerived>
@@ -201,7 +271,15 @@ Cwise<ExpressionType>::operator==(const MatrixBase<OtherDerived> &other) const
*
* \returns an expression of the coefficient-wise != operator of *this and \a other
*
- * \sa class CwiseBinaryOp
+ * \warning this performs an exact comparison, which is generally a bad idea with floating-point types.
+ * In order to check for equality between two vectors or matrices with floating-point coefficients, it is
+ * generally a far better idea to use a fuzzy comparison as provided by MatrixBase::isApprox() and
+ * MatrixBase::isMuchSmallerThan().
+ *
+ * Example: \include Cwise_not_equal.cpp
+ * Output: \verbinclude Cwise_not_equal.out
+ *
+ * \sa MatrixBase::all(), MatrixBase::any(), MatrixBase::isApprox(), MatrixBase::isMuchSmallerThan()
*/
template<typename ExpressionType>
template<typename OtherDerived>
@@ -213,7 +291,14 @@ Cwise<ExpressionType>::operator!=(const MatrixBase<OtherDerived> &other) const
/** \array_module
- * \returns an expression of \c *this with each coeff incremented by the constant \a scalar */
+ *
+ * \returns an expression of \c *this with each coeff incremented by the constant \a scalar
+ *
+ * Example: \include Cwise_plus.cpp
+ * Output: \verbinclude Cwise_plus.out
+ *
+ * \sa operator+=(), operator-()
+ */
template<typename ExpressionType>
inline const typename Cwise<ExpressionType>::ScalarAddReturnType
Cwise<ExpressionType>::operator+(const Scalar& scalar) const
@@ -222,7 +307,14 @@ Cwise<ExpressionType>::operator+(const Scalar& scalar) const
}
/** \array_module
- * \see operator+() */
+ *
+ * Adds the given \a scalar to each coeff of this expression.
+ *
+ * Example: \include Cwise_plus_equal.cpp
+ * Output: \verbinclude Cwise_plus_equal.out
+ *
+ * \sa operator+(), operator-=()
+ */
template<typename ExpressionType>
inline ExpressionType& Cwise<ExpressionType>::operator+=(const Scalar& scalar)
{
@@ -230,7 +322,14 @@ inline ExpressionType& Cwise<ExpressionType>::operator+=(const Scalar& scalar)
}
/** \array_module
- * \returns an expression of \c *this with each coeff decremented by the constant \a scalar */
+ *
+ * \returns an expression of \c *this with each coeff decremented by the constant \a scalar
+ *
+ * Example: \include Cwise_minus.cpp
+ * Output: \verbinclude Cwise_minus.out
+ *
+ * \sa operator+(), operator-=()
+ */
template<typename ExpressionType>
inline const typename Cwise<ExpressionType>::ScalarAddReturnType
Cwise<ExpressionType>::operator-(const Scalar& scalar) const
@@ -239,7 +338,15 @@ Cwise<ExpressionType>::operator-(const Scalar& scalar) const
}
/** \array_module
- * \see operator- */
+ *
+ * Substracts the given \a scalar from each coeff of this expression.
+ *
+ * Example: \include Cwise_minus_equal.cpp
+ * Output: \verbinclude Cwise_minus_equal.out
+ *
+ * \sa operator+=(), operator-()
+ */
+
template<typename ExpressionType>
inline ExpressionType& Cwise<ExpressionType>::operator-=(const Scalar& scalar)
{
diff --git a/Eigen/src/Array/PartialRedux.h b/Eigen/src/Array/PartialRedux.h
index 48daad770..bdd657368 100644
--- a/Eigen/src/Array/PartialRedux.h
+++ b/Eigen/src/Array/PartialRedux.h
@@ -139,10 +139,13 @@ struct ei_member_redux {
* \param ExpressionType the type of the object on which to do partial reductions
* \param Direction indicates the direction of the redux (Vertical or Horizontal)
*
- * This class represents an expression with additional partial reduction features.
+ * This class represents a pseudo expression with partial reduction features.
* It is the return type of MatrixBase::colwise() and MatrixBase::rowwise()
* and most of the time this is the only way it is used.
*
+ * Example: \include MatrixBase_colwise.cpp
+ * Output: \verbinclude MatrixBase_colwise.out
+ *
* \sa MatrixBase::colwise(), MatrixBase::rowwise(), class PartialReduxExpr
*/
template<typename ExpressionType, int Direction> class PartialRedux
@@ -180,30 +183,50 @@ template<typename ExpressionType, int Direction> class PartialRedux
/** \returns a row (or column) vector expression of the smallest coefficient
* of each column (or row) of the referenced expression.
+ *
+ * Example: \include PartialRedux_minCoeff.cpp
+ * Output: \verbinclude PartialRedux_minCoeff.out
+ *
* \sa MatrixBase::minCoeff() */
const typename ReturnType<ei_member_minCoeff>::Type minCoeff() const
{ return _expression(); }
/** \returns a row (or column) vector expression of the largest coefficient
* of each column (or row) of the referenced expression.
+ *
+ * Example: \include PartialRedux_maxCoeff.cpp
+ * Output: \verbinclude PartialRedux_maxCoeff.out
+ *
* \sa MatrixBase::maxCoeff() */
const typename ReturnType<ei_member_maxCoeff>::Type maxCoeff() const
{ return _expression(); }
/** \returns a row (or column) vector expression of the squared norm
* of each column (or row) of the referenced expression.
+ *
+ * Example: \include PartialRedux_norm2.cpp
+ * Output: \verbinclude PartialRedux_norm2.out
+ *
* \sa MatrixBase::norm2() */
const typename ReturnType<ei_member_norm2>::Type norm2() const
{ return _expression(); }
/** \returns a row (or column) vector expression of the norm
* of each column (or row) of the referenced expression.
+ *
+ * Example: \include PartialRedux_norm.cpp
+ * Output: \verbinclude PartialRedux_norm.out
+ *
* \sa MatrixBase::norm() */
const typename ReturnType<ei_member_norm>::Type norm() const
{ return _expression(); }
/** \returns a row (or column) vector expression of the sum
* of each column (or row) of the referenced expression.
+ *
+ * Example: \include PartialRedux_sum.cpp
+ * Output: \verbinclude PartialRedux_sum.out
+ *
* \sa MatrixBase::sum() */
const typename ReturnType<ei_member_sum>::Type sum() const
{ return _expression(); }
@@ -216,7 +239,10 @@ template<typename ExpressionType, int Direction> class PartialRedux
*
* \returns a PartialRedux wrapper of *this providing additional partial reduction operations
*
- * \sa class PartialRedux
+ * Example: \include MatrixBase_colwise.cpp
+ * Output: \verbinclude MatrixBase_colwise.out
+ *
+ * \sa rowwise(), class PartialRedux
*/
template<typename Derived>
inline const PartialRedux<Derived,Vertical>
@@ -229,7 +255,10 @@ MatrixBase<Derived>::colwise() const
*
* \returns a PartialRedux wrapper of *this providing additional partial reduction operations
*
- * \sa class PartialRedux
+ * Example: \include MatrixBase_rowwise.cpp
+ * Output: \verbinclude MatrixBase_rowwise.out
+ *
+ * \sa colwise(), class PartialRedux
*/
template<typename Derived>
inline const PartialRedux<Derived,Horizontal>