aboutsummaryrefslogtreecommitdiffhomepage
path: root/doc/snippets
diff options
context:
space:
mode:
authorGravatar Benoit Jacob <jacob.benoit.1@gmail.com>2008-08-12 02:14:02 +0000
committerGravatar Benoit Jacob <jacob.benoit.1@gmail.com>2008-08-12 02:14:02 +0000
commit13ad88736e41cd22d057f67e39ba694be76f7010 (patch)
treed61adf7ab2edd10ae60d113b64dcb20547276265 /doc/snippets
parentf04c1cb774fae209c6d4d060bda15f7389764887 (diff)
last small fixes, this is alpha6, eigen2 is now ready for eigen1 apps to
port to.
Diffstat (limited to 'doc/snippets')
-rw-r--r--doc/snippets/MatrixBase_lazy.cpp13
1 files changed, 4 insertions, 9 deletions
diff --git a/doc/snippets/MatrixBase_lazy.cpp b/doc/snippets/MatrixBase_lazy.cpp
index 41815c69a..0177b1e51 100644
--- a/doc/snippets/MatrixBase_lazy.cpp
+++ b/doc/snippets/MatrixBase_lazy.cpp
@@ -1,10 +1,5 @@
Matrix2d m; m << 1,2,3,4;
-Matrix2d n;
-n = (m*m).lazy(); // if we did "n = m*m;" then m*m would first be evaluated into
- // a temporary, because the Product expression has the EvalBeforeAssigningBit.
- // This temporary would then be copied into n. Introducing this temporary is
- // useless here and wastes time. Doing "n = (m*m).lazy();" evaluates m*m directly
- // into n, which is faster. But, beware! This is only correct because m and n
- // are two distinct matrices. Doing "m = (m*m).lazy();" would not produce the
- // expected result.
-cout << n << endl;
+cout << (m*m).lazy().row(0) << endl;
+ // this computes only one row of the product. By contrast,
+ // if we did "(m*m).row(0);" then m*m would first be evaluated into
+ // a temporary, because the Product expression has the EvalBeforeNestingBit.