diff options
author | Benoit Jacob <jacob.benoit.1@gmail.com> | 2008-08-12 02:14:02 +0000 |
---|---|---|
committer | Benoit Jacob <jacob.benoit.1@gmail.com> | 2008-08-12 02:14:02 +0000 |
commit | 13ad88736e41cd22d057f67e39ba694be76f7010 (patch) | |
tree | d61adf7ab2edd10ae60d113b64dcb20547276265 /doc/snippets | |
parent | f04c1cb774fae209c6d4d060bda15f7389764887 (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.cpp | 13 |
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. |