aboutsummaryrefslogtreecommitdiffhomepage
path: root/Eigen
diff options
context:
space:
mode:
authorGravatar Hauke Heibel <hauke.heibel@gmail.com>2010-01-14 10:10:07 +0100
committerGravatar Hauke Heibel <hauke.heibel@gmail.com>2010-01-14 10:10:07 +0100
commit814659c201b260a920e4b213b676b81af4c1e43a (patch)
tree8afcf168f4fba42e9470eff61131469478cb384d /Eigen
parent624902f559b36a0e1cef05126282dec1c848a8df (diff)
Changed parts of the documentation.
The param keyword is now tparam (in Matrix). Made PlainMatrixType non-internal (currently MatrixBase only); I think this is an important typedef in particular when writing your own template methods.
Diffstat (limited to 'Eigen')
-rw-r--r--Eigen/src/Core/Matrix.h21
-rw-r--r--Eigen/src/Core/MatrixBase.h13
2 files changed, 22 insertions, 12 deletions
diff --git a/Eigen/src/Core/Matrix.h b/Eigen/src/Core/Matrix.h
index 8c951326c..cefb4eff1 100644
--- a/Eigen/src/Core/Matrix.h
+++ b/Eigen/src/Core/Matrix.h
@@ -36,17 +36,17 @@
* The %Matrix class encompasses \em both fixed-size and dynamic-size objects (\ref fixedsize "note").
*
* The first three template parameters are required:
- * \param _Scalar Numeric type, i.e. float, double, int
- * \param _Rows Number of rows, or \b Dynamic
- * \param _Cols Number of columns, or \b Dynamic
+ * \tparam _Scalar Numeric type, i.e. float, double, int
+ * \tparam _Rows Number of rows, or \b Dynamic
+ * \tparam _Cols Number of columns, or \b Dynamic
*
* The remaining template parameters are optional -- in most cases you don't have to worry about them.
- * \param _Options A combination of either \b RowMajor or \b ColMajor, and of either
+ * \tparam _Options \anchor matrix_tparam_options A combination of either \b RowMajor or \b ColMajor, and of either
* \b AutoAlign or \b DontAlign.
* The former controls storage order, and defaults to column-major. The latter controls alignment, which is required
* for vectorization. It defaults to aligning matrices except for fixed sizes that aren't a multiple of the packet size.
- * \param _MaxRows Maximum number of rows. Defaults to \a _Rows (\ref maxrows "note").
- * \param _MaxCols Maximum number of columns. Defaults to \a _Cols (\ref maxrows "note").
+ * \tparam _MaxRows Maximum number of rows. Defaults to \a _Rows (\ref maxrows "note").
+ * \tparam _MaxCols Maximum number of columns. Defaults to \a _Cols (\ref maxrows "note").
*
* Eigen provides a number of typedefs covering the usual cases. Here are some examples:
*
@@ -129,11 +129,18 @@ class Matrix
{
public:
+ /** \brief Base class typedef.
+ * \sa DenseStorageBase
+ */
typedef DenseStorageBase<Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>, Eigen::MatrixBase, _Options> Base;
+
_EIGEN_GENERIC_PUBLIC_INTERFACE(Matrix)
+ /** \brief Template parameter alias for \ref matrix_tparam_options "_Options". */
enum { Options = _Options };
+
typedef typename Base::PlainMatrixType PlainMatrixType;
+
// friend class Eigen::Map<Matrix, Unaligned>;
// typedef class Eigen::Map<Matrix, Unaligned> UnalignedMapType;
// friend class Eigen::Map<Matrix, Aligned>;
@@ -144,9 +151,11 @@ class Matrix
// ei_matrix_storage<Scalar, MaxSizeAtCompileTime, RowsAtCompileTime, ColsAtCompileTime, Options> m_storage;
public:
+#ifndef EIGEN_PARSED_BY_DOXYGEN
enum { NeedsToAlign = (!(Options&DontAlign))
&& SizeAtCompileTime!=Dynamic && ((sizeof(Scalar)*SizeAtCompileTime)%16)==0 };
EIGEN_MAKE_ALIGNED_OPERATOR_NEW_IF(NeedsToAlign)
+#endif
using Base::base;
using Base::coeff;
diff --git a/Eigen/src/Core/MatrixBase.h b/Eigen/src/Core/MatrixBase.h
index 7569dab58..41c3581b6 100644
--- a/Eigen/src/Core/MatrixBase.h
+++ b/Eigen/src/Core/MatrixBase.h
@@ -117,13 +117,12 @@ template<typename Derived> class MatrixBase
* \sa rows(), cols(), SizeAtCompileTime. */
inline int diagonalSize() const { return std::min(rows(),cols()); }
-#ifndef EIGEN_PARSED_BY_DOXYGEN
- /** \internal the plain matrix type corresponding to this expression. Note that is not necessarily
- * exactly the return type of eval(): in the case of plain matrices, the return type of eval() is a const
- * reference to a matrix, not a matrix! It is however guaranteed that the return type of eval() is either
- * PlainMatrixType or const PlainMatrixType&.
+ /** \brief The plain matrix type corresponding to this expression.
+ *
+ * This is not necessarily exactly the return type of eval(). In the case of plain matrices,
+ * the return type of eval() is a const reference to a matrix, not a matrix! It is however guaranteed
+ * that the return type of eval() is either PlainMatrixType or const PlainMatrixType&.
*/
-// typedef typename ei_plain_matrix_type<Derived>::type PlainMatrixType;
typedef Matrix<typename ei_traits<Derived>::Scalar,
ei_traits<Derived>::RowsAtCompileTime,
ei_traits<Derived>::ColsAtCompileTime,
@@ -131,7 +130,9 @@ template<typename Derived> class MatrixBase
ei_traits<Derived>::MaxRowsAtCompileTime,
ei_traits<Derived>::MaxColsAtCompileTime
> PlainMatrixType;
+ // typedef typename ei_plain_matrix_type<Derived>::type PlainMatrixType;
+#ifndef EIGEN_PARSED_BY_DOXYGEN
/** \internal Represents a matrix with all coefficients equal to one another*/
typedef CwiseNullaryOp<ei_scalar_constant_op<Scalar>,Derived> ConstantReturnType;
/** \internal the return type of MatrixBase::adjoint() */