Benoit Jacob
346c00f4c8
Rework the unit-tests to use lower precision, so as to eliminate
...
false positives. Also some cleanup in the fuzzy compares.
2007-12-03 10:23:08 +00:00
Benoit Jacob
e05f29191e
Much more convenient, less over-engineered NumTraits. Done during this KDE-Edu weekend.
2007-12-02 18:32:59 +00:00
Benoit Jacob
2fdd067d9e
add more unit-tests (covering transpose, conjugate, adjoint, dot product...)
2007-11-28 15:34:40 +00:00
Benoit Jacob
39f1776bde
rename Object -> MatrixBase
2007-11-27 13:57:51 +00:00
Benoit Jacob
344623e872
Matrix(int) constructor is only for vectors.
2007-11-26 09:21:11 +00:00
Benoit Jacob
a587346b47
Matrix(int,int) constructor no longer takes default arguments.
...
Instead, introduce Matrix() and Matrix(int); however, dynamic dimensions
are required to be specified in the constructor (we no longer default to 1)
2007-11-26 09:11:12 +00:00
Benoit Jacob
5309ef5b5e
- improve and comment the "BasicStuff" test.
...
- adjust behavior of Matrix(int,int) constructor
- s/EI_/EIGEN_/
2007-11-26 08:47:07 +00:00
Benoit Jacob
f14712a1a3
Fix damage done by automatic search-and-replace
2007-11-25 22:05:49 +00:00
Benoit Jacob
49c78643da
add cast<newtype>() function to casts the scalars to another type.
2007-10-19 14:46:08 +00:00
Benoit Jacob
d6f26dc8eb
clarify the situation with EI_INHERIT_ASSIGNMENT_OPERATORS
2007-10-15 06:11:59 +00:00
Benoit Jacob
884a718b0a
make shameless use of const_cast to reduce code redundancy. This means Eigen2
...
gives up enforcing constness. I really tried to enforce it, but it really was
much hassle because our expression templates can be lvalues (not only rvalues)
and so much code had to be written twice.
2007-10-15 05:56:21 +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
3f97918760
restrict identity() to square matrices; small change helping g++ optimize.
2007-10-14 10:01:25 +00:00
Benoit Jacob
6c8f159635
add zero() and identity() static methods, update unit-tests
2007-10-14 09:18:18 +00:00
Benoit Jacob
0f2df4b202
remove support for type std::complex<int>. Simplify NumTraits accordingly.
2007-10-14 08:16:50 +00:00
Benoit Jacob
5f0af72abc
mark more methods as const. also rename, Numeric.h->NumTraits.h
2007-10-13 20:53:30 +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
31061557a5
add unary operator-(), computing the opposite.
2007-10-13 14:38:51 +00:00
Benoit Jacob
55e80e1599
split MatrixOps.h into 3 files; rename ScalarOps.h; remove useless #includes.
2007-10-13 14:31:27 +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
a4626cc808
rework the numeric traits now that we're using a namespace and no prefix
2007-10-12 05:56:36 +00:00
Benoit Jacob
3654ee8b07
SVN_SILENT:
...
repair some damage made by the automatic search and replace used in the
prefix->namespace move
2007-10-12 05:15:25 +00:00
Benoit Jacob
0d44c0906b
simplify the new USING_EIGEN_DATA_TYPES macro
2007-10-11 20:32:12 +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
3c98677376
fix big bug in loop unrolling
2007-10-10 06:33:09 +00:00
Benoit Jacob
06e1e0d83b
fix dot product, add norm/norm2/normalized
...
add fuzzy compares for matrices/vectors
add random matrix/vector generation
2007-10-10 06:09:56 +00:00
Benoit Jacob
7f0a546a81
add norm() and norm2(); some polishing
2007-10-08 10:19:49 +00:00
Benoit Jacob
ac6ff5efd6
reverse certain inner loops. Now the benchmark runs in 3.5s instead of 5.5s before!
2007-10-08 07:24:00 +00:00
Benoit Jacob
f0be175bdc
add dot product, extend meta unrolling everywhere
2007-10-08 07:17:54 +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
be429ebf9c
reorganisation of headers, commit47b935fc42cbf2ca992d8a270bc1b0fc97d1f6bc
...
/2....
2007-10-07 15:58:30 +00:00
Benoit Jacob
28c44a95c2
Finish prefixing everything with "Ei"
2007-09-27 19:54:04 +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