Benoit Jacob
a316cd8a76
now cmake takes snippets of code, completes them into compilable sources, builds them,
...
executes them and stores their output in files.
2007-12-21 09:30:32 +00:00
Benoit Jacob
ee3410f79a
renaming (commit in order to avoid svn breakage)
2007-12-21 09:05:41 +00:00
Benoit Jacob
04e3512eb6
first version of CMakeLists auto-generating examples outputs
2007-12-21 09:02:24 +00:00
Benoit Jacob
64f5d5d318
move the documentation to doc/, add dummy documentation to srcdir/ compiling to
...
an explanation of how to generate the docs
2007-12-21 07:30:15 +00:00
Benoit Jacob
a52c74095f
rename src/ to Eigen/ so that we're able to #include<Eigen/Core.h>
...
in the examples instead of ugly things like #include"../../src/Core.h"
2007-12-20 21:25:13 +00:00
Benoit Jacob
647a817b2e
more documentation and examples, add Doxyfile and Mainpage.dox and also
...
the benchmark program
2007-12-20 21:11:05 +00:00
Benoit Jacob
1a94c28bfe
and here is the fixed-size Block class
2007-12-05 07:39:26 +00:00
Benoit Jacob
04502cccd9
rename Block to DynBlock and rework API to make place for
...
upcoming fixed-size Block matrix. Also some cleanup.
2007-12-05 07:22:22 +00:00
Benoit Jacob
39f1776bde
rename Object -> MatrixBase
2007-11-27 13:57:51 +00:00
Benoit Jacob
f355ef2df0
Merge WrapArray into FromArray. Less code. The downside is that we're using one more
...
const_cast. But I think that anyway trying to maintain const strictness in Eigen2 is not
worth the hassle.
Konstantin: so the code snippet I sent you won't work anymore, replace wrapArray with fromArray.
CCMAIL:konst.heil@stud.uni-heidelberg.de
2007-10-14 18:02:16 +00:00
Benoit Jacob
a94a8c68e8
add fromArray() and wrapArray().
...
For example, the following now works:
double a1[3] = {1.0, 3.0, 2.0}, a2[3];
Vector3d::wrapArray(a2) = 2 * Vector3d::fromArray(a1);
cout << Vector3d::fromArray(a2) << endl; // output: 2,6,4
2007-10-14 14:45:31 +00:00
Benoit Jacob
e445f5085a
implement the first _real_ unit-tests, testing the results for correctness instead
...
of just checking compilation.
Fix the many issues discovered by these unit-tests, by the way fixing a performance bug.
2007-10-13 16:56:24 +00:00
Benoit Jacob
12bcafdc75
some renaming in the fuzzy compares, and in the multiplications
2007-10-13 14:19:23 +00:00
Benoit Jacob
61de15f361
Democracy 1 - 0 Dictatorship
...
After huge thread on eigen mailing list, it appears that i'm the
only one in favor of prefix Ei. Everybody else prefers namespace
Eigen like we did in Eigen 1. So, revert.
Also add a macro USING_EIGEN_DATA_TYPES that application programmers
can use to automatically do "using"on the Matrix class and its
matrix/vector typedefs:
using Eigen::Matrix;
using Eigen::Matrix2d;
using Eigen::Vector2d;
... (the list of typedefs is really long).
thanks to the suffixes, the Vector typedefs aren't really polluting.
CCMAIL:eigen@lists.tuxfamily.org
P.S. Danny, please skip this one :) I know you already reported the
namespace->prefix move, now that one would be too much noise :)
2007-10-11 20:14:01 +00:00
Benoit Jacob
95b3316701
reorganize meta loop unrolling, add Trace (meta-unrolled), fix compilation issues in
...
the conjugation/adjunction stuff
2007-10-07 16:40:49 +00:00
Benoit Jacob
4fe78b8e10
reorganization of headers, part 2/2...
2007-10-07 15:59:09 +00:00
Benoit Jacob
c768a44909
Add matrix transposition
2007-10-01 18:20:35 +00:00
Benoit Jacob
96524fc573
Split Row and Column into separate files.
...
Introduce a notion of RowVector (typedef for Matriw with 1 row)
Make row() return a row vector instead of a "column vector"
Introduce operator[] to access elements of row/column vectors uniformly
Remove default arguments in operator(), these were for vectors, now use operator[] instead
2007-10-01 07:45:30 +00:00
Benoit Jacob
ee63e15e2c
make matrix multiplication do immediate evaluation; add lazyMul() for the old behaviour
...
some reorganization, especially in MatrixStorage
start playing with loop unrolling, always_inline, and __restrict__
2007-09-29 08:28:36 +00:00
Benoit Jacob
aa3294f14e
add example to the documentation
2007-09-28 06:17:36 +00:00
Benoit Jacob
835e0c9f67
Found a way to have eval() be a member function of class EiObject, instead of a global function.
...
CCMAIL:bensch128@yahoo.com
2007-09-28 06:10:34 +00:00
Benoit Jacob
28c44a95c2
Finish prefixing everything with "Ei"
2007-09-27 19:54:04 +00:00
Benoit Jacob
5160e9d029
Half-way commit prefixing object names. I am forced to commit now
...
because I renamed a file once with a wrong filename and svn refuses to
let me rename it again, tells me i should propagate first.
2007-09-27 19:38:40 +00:00
Benoit Jacob
4e299afb1f
don't enclose eigen in a namespace. prefixing is the way to go.
...
For example Qt uses a prefix and no namespace (except for a few things)
2007-09-27 19:24:57 +00:00
Benoit Jacob
628b1a8f6d
implement scalar operators separately for each type using a macro.
...
This is required e.g. to allow "2 * m" with m a matrix of doubles.
2007-09-27 07:42:12 +00:00
Benoit Jacob
8a024825d2
fix bugs caused by default copy constructors being called. valgrind,
...
you saved my life.
2007-09-26 14:06:32 +00:00
Benoit Jacob
a2dd9dd6f9
Give the axe to the aliasing system.
...
Improve the evaluation system instead.
2007-09-26 14:06:26 +00:00
Benoit Jacob
55227b1f63
Deep refactoring.
...
1) Kill MatrixXpr class, instead let all class inherit a common EigenBase class
2) Kill MatrixBase/Matrix/Vector classes, instead introduce a single Matrix class,
a MatrixStorage class, and typedefs to emulate vectors
3) Huge code cleanup, remove large preprocessor macros, sloccount drop to ~750
down from 1100.
4) Introduce compile-time-known sizes
2007-09-26 14:06:14 +00:00
Benoit Jacob
1af61c6ff0
reorganize header files, split MatrixBase into smaller files.
...
expose only a few meta-headers to the user, the rest moves to a internal/ subdirectory
2007-09-09 09:41:15 +00:00
Benoit Jacob
3b727ef939
some cleanup
2007-09-09 09:03:42 +00:00
Benoit Jacob
1dab53d300
update tutorial
2007-09-09 08:17:08 +00:00
Benoit Jacob
506cc5db12
remove operator *= between matrices: too much hassle.
2007-09-07 09:47:13 +00:00
Benoit Jacob
61158b1922
add operator *= between matrices, with automatic aliasing.
...
add tutorial in doc/ subdirectory.
2007-09-07 08:18:21 +00:00