2b20814cedExpand and improve unit-tests
Benoit Jacob
2007-12-11 10:07:18 +0000
d50ce24dd9rework asserts system so as to minimize the impact of debugging code on performance
Benoit Jacob
2007-12-11 10:06:43 +0000
effaee9bc7fix bugs in Block/DynBlock
Benoit Jacob
2007-12-11 10:05:50 +0000
fc924bc7d4specialize for Size==0 in order to catch user bugs and not clutter the compiler output with an infinite recursion. Also add a #define switch for loop unrolling.
Benoit Jacob
2007-12-11 10:04:39 +0000
9d51572cberework the random numbers API
Benoit Jacob
2007-12-11 10:02:48 +0000
c58c892e25had forgotten to 'svn add' that file...
Benoit Jacob
2007-12-05 08:57:23 +0000
68eba600b1big reorganisation of asserts, so that: 0) asserts are only done in the public API, except for a few ones explicitly named eigen_internal_assert. 1) internal asserts are disabled unless EIGEN_INTERNAL_DEBUGGING is defined. This limits the impact of debugging on performance. 2) no 'unused argument' warnings anymore when compiling with -DNDEBUG
Benoit Jacob
2007-12-05 08:56:42 +0000
b569216dc3remove useless default argument values
Benoit Jacob
2007-12-05 07:44:57 +0000
1a94c28bfeand here is the fixed-size Block class
Benoit Jacob
2007-12-05 07:39:26 +0000
04502cccd9rename Block to DynBlock and rework API to make place for upcoming fixed-size Block matrix. Also some cleanup.
Benoit Jacob
2007-12-05 07:22:22 +0000
346c00f4c8Rework the unit-tests to use lower precision, so as to eliminate false positives. Also some cleanup in the fuzzy compares.
Benoit Jacob
2007-12-03 10:23:08 +0000
5abaaf9688Test application now takes 'seed' and 'repeat' command-line args
Benoit Jacob
2007-12-03 08:35:23 +0000
e05f29191eMuch more convenient, less over-engineered NumTraits. Done during this KDE-Edu weekend.
Benoit Jacob
2007-12-02 18:32:59 +0000
2fdd067d9eadd more unit-tests (covering transpose, conjugate, adjoint, dot product...)
Benoit Jacob
2007-11-28 15:34:40 +0000
39f1776bderename Object -> MatrixBase
Benoit Jacob
2007-11-27 13:57:51 +0000
344623e872Matrix(int) constructor is only for vectors.
Benoit Jacob
2007-11-26 09:21:11 +0000
a587346b47Matrix(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)
Benoit Jacob
2007-11-26 09:11:12 +0000
5309ef5b5e- improve and comment the "BasicStuff" test. - adjust behavior of Matrix(int,int) constructor - s/EI_/EIGEN_/
Benoit Jacob
2007-11-26 08:47:07 +0000
f14712a1a3Fix damage done by automatic search-and-replace
Benoit Jacob
2007-11-25 22:05:49 +0000
49c78643daadd cast<newtype>() function to casts the scalars to another type.
Benoit Jacob
2007-10-19 14:46:08 +0000
d6f26dc8ebclarify the situation with EI_INHERIT_ASSIGNMENT_OPERATORS
Benoit Jacob
2007-10-15 06:11:59 +0000
884a718b0amake 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.
Benoit Jacob
2007-10-15 05:56:21 +0000
f355ef2df0Merge 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.
Benoit Jacob
2007-10-14 18:02:16 +0000
a94a8c68e8add fromArray() and wrapArray().
Benoit Jacob
2007-10-14 14:45:31 +0000
3f97918760restrict identity() to square matrices; small change helping g++ optimize.
Benoit Jacob
2007-10-14 10:01:25 +0000
6c8f159635add zero() and identity() static methods, update unit-tests
Benoit Jacob
2007-10-14 09:18:18 +0000
0f2df4b202remove support for type std::complex<int>. Simplify NumTraits accordingly.
Benoit Jacob
2007-10-14 08:16:50 +0000
5f0af72abcmark more methods as const. also rename, Numeric.h->NumTraits.h
Benoit Jacob
2007-10-13 20:53:30 +0000
e445f5085aimplement the first _real_ unit-tests, testing the results for correctness instead of just checking compilation.
Benoit Jacob
2007-10-13 16:56:24 +0000
31061557a5add unary operator-(), computing the opposite.
Benoit Jacob
2007-10-13 14:38:51 +0000
55e80e1599split MatrixOps.h into 3 files; rename ScalarOps.h; remove useless #includes.
Benoit Jacob
2007-10-13 14:31:27 +0000
12bcafdc75some renaming in the fuzzy compares, and in the multiplications
Benoit Jacob
2007-10-13 14:19:23 +0000
a4626cc808rework the numeric traits now that we're using a namespace and no prefix
Benoit Jacob
2007-10-12 05:56:36 +0000
3654ee8b07SVN_SILENT:
Benoit Jacob
2007-10-12 05:15:25 +0000
0d44c0906bsimplify the new USING_EIGEN_DATA_TYPES macro
Benoit Jacob
2007-10-11 20:32:12 +0000
61de15f361Democracy 1 - 0 Dictatorship
Benoit Jacob
2007-10-11 20:14:01 +0000
3c98677376fix big bug in loop unrolling
Benoit Jacob
2007-10-10 06:33:09 +0000
06e1e0d83bfix dot product, add norm/norm2/normalized add fuzzy compares for matrices/vectors add random matrix/vector generation
Benoit Jacob
2007-10-10 06:09:56 +0000
7f0a546a81add norm() and norm2(); some polishing
Benoit Jacob
2007-10-08 10:19:49 +0000
ac6ff5efd6reverse certain inner loops. Now the benchmark runs in 3.5s instead of 5.5s before!
Benoit Jacob
2007-10-08 07:24:00 +0000
f0be175bdcadd dot product, extend meta unrolling everywhere
Benoit Jacob
2007-10-08 07:17:54 +0000
95b3316701reorganize meta loop unrolling, add Trace (meta-unrolled), fix compilation issues in the conjugation/adjunction stuff
Benoit Jacob
2007-10-07 16:40:49 +0000
4fe78b8e10reorganization of headers, part 2/2...
Benoit Jacob
2007-10-07 15:59:09 +0000
be429ebf9creorganisation of headers, commit47b935fc42cbf2ca992d8a270bc1b0fc97d1f6bc /2....
Benoit Jacob
2007-10-07 15:58:30 +0000
f939abd5f3aargh, had forgotten to 'svn add' a file. Yeah, 'svn st' is my friend, i know...
Benoit Jacob
2007-10-07 15:14:05 +0000
9eff685428add matrix conjugation and adjunction. compilation fixes in the numeric traits.
Benoit Jacob
2007-10-07 15:12:41 +0000
ae2072406cIntroduce Numeric Traits, with fuzzy compares, random numbers, etc.
Benoit Jacob
2007-10-07 12:44:42 +0000
c768a44909Add matrix transposition
Benoit Jacob
2007-10-01 18:20:35 +0000
f5f45d751cMove the meta loop unrolling to a separate file, Loop.h
Benoit Jacob
2007-10-01 17:07:38 +0000
96524fc573Split 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
Benoit Jacob
2007-10-01 07:45:30 +0000
3cf6caba1aremove useless typedefs
Benoit Jacob
2007-10-01 06:51:25 +0000
6015698047Michael was right, it's best to base the unrolling limit on the product Rows*Cols.
Benoit Jacob
2007-10-01 06:30:20 +0000
656919619f- add copyright line for Michael Olbrich - some meta unrolling improvements
Benoit Jacob
2007-10-01 06:23:05 +0000
e116aba444adapt to coding style used elsewhere in eigen2
Benoit Jacob
2007-10-01 04:57:51 +0000
2d823d8ef6Generic loop unrolling with template metaprograms. It seems to be as fast as manually unrolling. TODO: decide when to stop unrolling (speed vs. code size). maybe only unroll one loop for larger matixes.
Michael Olbrich
2007-09-30 20:38:09 +0000
1d3743d2c5for dynamic size matrix (Rows|Cols)AtCompileTime is always EiDynamic and not "(Rows|Cols)AtCompileTime - 1" which would be EiDynamic - 1 == -2
Michael Olbrich
2007-09-30 20:23:24 +0000
4241dddee9temporarily remove division unit-tests. they caused div-by-zero's , reported by Michael Olbrich. The solution will consist in adding a real Traits system.
Benoit Jacob
2007-09-30 16:45:40 +0000
023773beaaFix super-nasty bug in the declaration of the storage array of fixed-size matrices. Also some simplifications.
Benoit Jacob
2007-09-30 14:56:11 +0000
7d41ad9d90Get rid of a nasty const_cast by introducing a MatrixConstRef class. Remove the __restrict__'s for now.
Benoit Jacob
2007-09-29 17:27:20 +0000
ee63e15e2cmake 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__
Benoit Jacob
2007-09-29 08:28:36 +0000
51e29ae4bdsome reorganization leading to simpler expression trees
Benoit Jacob
2007-09-28 11:20:29 +0000
aa3294f14eadd example to the documentation
Benoit Jacob
2007-09-28 06:17:36 +0000
835e0c9f67Found a way to have eval() be a member function of class EiObject, instead of a global function.
Benoit Jacob
2007-09-28 06:10:34 +0000
28c44a95c2Finish prefixing everything with "Ei"
Benoit Jacob
2007-09-27 19:54:04 +0000
5160e9d029Half-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.
Benoit Jacob
2007-09-27 19:38:40 +0000
4e299afb1fdon'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)
Benoit Jacob
2007-09-27 19:24:57 +0000
d99d9407dfadd operators *= and /=
Benoit Jacob
2007-09-27 19:20:06 +0000
628b1a8f6dimplement scalar operators separately for each type using a macro. This is required e.g. to allow "2 * m" with m a matrix of doubles.
Benoit Jacob
2007-09-27 07:42:12 +0000
8a024825d2fix bugs caused by default copy constructors being called. valgrind, you saved my life.
Benoit Jacob
2007-09-26 14:06:32 +0000
a2dd9dd6f9Give the axe to the aliasing system. Improve the evaluation system instead.
Benoit Jacob
2007-09-26 14:06:26 +0000
55227b1f63Deep 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
Benoit Jacob
2007-09-26 14:06:14 +0000
1af61c6ff0reorganize header files, split MatrixBase into smaller files. expose only a few meta-headers to the user, the rest moves to a internal/ subdirectory
Benoit Jacob
2007-09-09 09:41:15 +0000
3b727ef939some cleanup
Benoit Jacob
2007-09-09 09:03:42 +0000
1dab53d300update tutorial
Benoit Jacob
2007-09-09 08:17:08 +0000
fe9b6b8f17remove the MatrixConstXpr and MatrixConstRef classes. Now the user doesn't need anymore to call .xpr() and can simply do: matrix.row(i) += matrix.row(j)
Benoit Jacob
2007-09-09 08:15:48 +0000
506cc5db12remove operator *= between matrices: too much hassle.
Benoit Jacob
2007-09-07 09:47:13 +0000
61158b1922add operator *= between matrices, with automatic aliasing. add tutorial in doc/ subdirectory.
Benoit Jacob
2007-09-07 08:18:21 +0000
c030e570fdextend operators += and -= to aliases
Benoit Jacob
2007-09-07 07:56:22 +0000
c3731b36d1Add operator += and operator -= between matrices/vectors/expressions
Benoit Jacob
2007-09-07 07:41:10 +0000
e7ef6dba9d- Introduce aliasing system - Remove operator<<, use .alias() instead - Introduce operator/ (scalar) - Cleanup, unit-tests update.
Benoit Jacob
2007-09-06 10:16:51 +0000
9477e62b68add a missing operator= for copying a matrix into an expression.
Benoit Jacob
2007-09-05 11:39:42 +0000
13a82795f7forgot to svn add some CMakeLists
Benoit Jacob
2007-09-05 10:42:54 +0000
1dabb45d94Hello, World! This is the initial commit for Eigen2, since I restarted it from scratch on Sunday.
actual-start-from-scratch
Benoit Jacob
2007-09-05 10:42:15 +0000
7eeb620880restart Eigen2 development from scratch.
Benoit Jacob
2007-09-01 10:47:07 +0000
bb114eb67fremove more stuff that I don't need
Benoit Jacob
2007-08-29 08:11:55 +0000
c141f18b54some cleanup
Benoit Jacob
2007-08-17 14:38:38 +0000
c14ba38df3some more cleanup in comma-initializer stuff
Benoit Jacob
2007-08-17 08:06:19 +0000
dfd4d2c487of course, i had forgotten to svn add one file
Benoit Jacob
2007-08-17 07:11:50 +0000
ad89fc8295-- switch Matrix class to column-major order like in Eigen -- many more Eigenification changes, in preparation of the big merge -- big changes in the Comma Initializer to allow for column-major order, leading to a simpler and cleaner solution. "commaWrite" hook added to the classes using the Comma Initializer. -- lots of API improvements, cleanup, removal of dead/useless stuff -- testsuite updated
Benoit Jacob
2007-08-17 07:10:44 +0000
07f96b6047remove 4 files from tvmet that are now replaced by testtraits.cpp
Benoit Jacob
2007-08-12 11:30:24 +0000
011c7e9ebdforgot to add another file...
Benoit Jacob
2007-08-12 11:05:44 +0000
9a519c30acforgot to "svn add" a very important file!!
Benoit Jacob
2007-08-12 11:00:27 +0000
c9a2c3738elots of fixes for complex numbers. unittests now test complex numbers.
Benoit Jacob
2007-08-12 10:59:07 +0000
71268227d4Big rework of the Traits system, unittests updated.
Benoit Jacob
2007-08-12 09:32:17 +0000
ca438b2c12Unit-tests updated for the stuff in the previous commit.
Benoit Jacob
2007-07-23 07:39:05 +0000
f1bd09024bBig overhaul and simplification of the NumericTraits system. Add a utility header for random numbers (might be merged into NumericTraits)
Benoit Jacob
2007-07-23 07:38:07 +0000
d62af65d7fport TestNumericTraits to QTestLib. This revealed some shortcomings in tvmet's infrastructure, in particular it lacks adequate fuzzy compares. will port that from eigen1.
Benoit Jacob
2007-07-21 10:36:47 +0000
b6dedaf745remove two unused files
Benoit Jacob
2007-07-21 10:25:11 +0000
37bd64b496Remove remaining per-element math functions. Remove defines for IEEE, SYSV and complex math. Now the user has to define himself EIGEN_USE_COMPLEX if he wants complex support. Remove TVMET_OPTIMIZE. More cleanup.
Benoit Jacob
2007-06-18 07:01:42 +0000
152e09a14dremove long long, long double, unsigned, short, char, bool types. Keep only int, float, double, complex<T>.
Benoit Jacob
2007-06-18 05:59:19 +0000