aboutsummaryrefslogtreecommitdiffhomepage
path: root/doc/QuickStartGuide.dox
diff options
context:
space:
mode:
authorGravatar Benoit Jacob <jacob.benoit.1@gmail.com>2008-12-22 20:50:47 +0000
committerGravatar Benoit Jacob <jacob.benoit.1@gmail.com>2008-12-22 20:50:47 +0000
commit789ea9d6762b2a0b2c737978f83939853cdb9fc3 (patch)
treea24c40b1ea4683edc86887c7e3a70ed029d1298b /doc/QuickStartGuide.dox
parent4336cf3833d87bc1c8b4c9ef6f884547c80e31f0 (diff)
unless i find more failures in the tests, this will be beta3...
* fixes for mistakes (especially in the cast() methods in Geometry) revealed by the new "mixing types" test * dox love, including a section on coeff access in core and an overview in geometry
Diffstat (limited to 'doc/QuickStartGuide.dox')
-rw-r--r--doc/QuickStartGuide.dox16
1 files changed, 16 insertions, 0 deletions
diff --git a/doc/QuickStartGuide.dox b/doc/QuickStartGuide.dox
index 81df4aa3d..446bade0c 100644
--- a/doc/QuickStartGuide.dox
+++ b/doc/QuickStartGuide.dox
@@ -14,6 +14,7 @@ namespace Eigen {
- \ref TutorialCoreSimpleExampleFixedSize
- \ref TutorialCoreSimpleExampleDynamicSize
- \ref TutorialCoreMatrixTypes
+ - \ref TutorialCoreCoefficients
- \ref TutorialCoreMatrixInitialization
- \ref TutorialCoreArithmeticOperators
- \ref TutorialCoreReductions
@@ -87,8 +88,23 @@ For example, \c Vector3d is a typedef for \code Matrix<double, 3, 1> \endcode
For dynamic-size, that is in order to left the number of rows or of columns unspecified at compile-time, use the special value Eigen::Dynamic. For example, \c VectorXd is a typedef for \code Matrix<double, Dynamic, 1> \endcode
+<a href="#" class="top">top</a>\section TutorialCoreCoefficients Coefficient access
+Eigen supports the following syntaxes for read and write coefficient access:
+\code
+matrix(i,j);
+vector(i)
+vector[i]
+vector.x() // first coefficient
+vector.y() // second coefficient
+vector.z() // third coefficient
+vector.w() // fourth coefficient
+\endcode
+
+Notice that these coefficient access methods have assertions checking the ranges. So if you do a lot of coefficient access, these assertion can have an important cost. There are then two possibilities if you want avoid paying this cost:
+\li Either you can disable assertions altogether, by defining EIGEN_NO_DEBUG or NDEBUG. Notice that some IDEs like MS Visual Studio define NDEBUG automatically in "Release Mode".
+\li Or you can disable the checks on a case-by-case basis by using the coeff() and coeffRef() methods: see MatrixBase::coeff(int,int) const, MatrixBase::coeffRef(int,int), etc.
<a href="#" class="top">top</a>\section TutorialCoreMatrixInitialization Matrix and vector creation and initialization