Commit Graph

  • 2b20814ced Expand and improve unit-tests Benoit Jacob 2007-12-11 10:07:18 +0000
  • d50ce24dd9 rework asserts system so as to minimize the impact of debugging code on performance Benoit Jacob 2007-12-11 10:06:43 +0000
  • effaee9bc7 fix bugs in Block/DynBlock Benoit Jacob 2007-12-11 10:05:50 +0000
  • fc924bc7d4 specialize 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
  • 9d51572cbe rework the random numbers API Benoit Jacob 2007-12-11 10:02:48 +0000
  • c58c892e25 had forgotten to 'svn add' that file... Benoit Jacob 2007-12-05 08:57:23 +0000
  • 68eba600b1 big 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
  • b569216dc3 remove useless default argument values Benoit Jacob 2007-12-05 07:44:57 +0000
  • 1a94c28bfe and here is the fixed-size Block class Benoit Jacob 2007-12-05 07:39:26 +0000
  • 04502cccd9 rename 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
  • 346c00f4c8 Rework 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
  • 5abaaf9688 Test application now takes 'seed' and 'repeat' command-line args Benoit Jacob 2007-12-03 08:35:23 +0000
  • e05f29191e Much more convenient, less over-engineered NumTraits. Done during this KDE-Edu weekend. Benoit Jacob 2007-12-02 18:32:59 +0000
  • 2fdd067d9e add more unit-tests (covering transpose, conjugate, adjoint, dot product...) Benoit Jacob 2007-11-28 15:34:40 +0000
  • 39f1776bde rename Object -> MatrixBase Benoit Jacob 2007-11-27 13:57:51 +0000
  • 344623e872 Matrix(int) constructor is only for vectors. Benoit Jacob 2007-11-26 09:21:11 +0000
  • 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) 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
  • f14712a1a3 Fix damage done by automatic search-and-replace Benoit Jacob 2007-11-25 22:05:49 +0000
  • 49c78643da add cast<newtype>() function to casts the scalars to another type. Benoit Jacob 2007-10-19 14:46:08 +0000
  • d6f26dc8eb clarify the situation with EI_INHERIT_ASSIGNMENT_OPERATORS Benoit Jacob 2007-10-15 06:11:59 +0000
  • 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. Benoit Jacob 2007-10-15 05:56:21 +0000
  • 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. Benoit Jacob 2007-10-14 18:02:16 +0000
  • a94a8c68e8 add fromArray() and wrapArray(). Benoit Jacob 2007-10-14 14:45:31 +0000
  • 3f97918760 restrict identity() to square matrices; small change helping g++ optimize. Benoit Jacob 2007-10-14 10:01:25 +0000
  • 6c8f159635 add zero() and identity() static methods, update unit-tests Benoit Jacob 2007-10-14 09:18:18 +0000
  • 0f2df4b202 remove support for type std::complex<int>. Simplify NumTraits accordingly. Benoit Jacob 2007-10-14 08:16:50 +0000
  • 5f0af72abc mark more methods as const. also rename, Numeric.h->NumTraits.h Benoit Jacob 2007-10-13 20:53:30 +0000
  • e445f5085a implement the first _real_ unit-tests, testing the results for correctness instead of just checking compilation. Benoit Jacob 2007-10-13 16:56:24 +0000
  • 31061557a5 add unary operator-(), computing the opposite. Benoit Jacob 2007-10-13 14:38:51 +0000
  • 55e80e1599 split MatrixOps.h into 3 files; rename ScalarOps.h; remove useless #includes. Benoit Jacob 2007-10-13 14:31:27 +0000
  • 12bcafdc75 some renaming in the fuzzy compares, and in the multiplications Benoit Jacob 2007-10-13 14:19:23 +0000
  • a4626cc808 rework the numeric traits now that we're using a namespace and no prefix Benoit Jacob 2007-10-12 05:56:36 +0000
  • 3654ee8b07 SVN_SILENT: Benoit Jacob 2007-10-12 05:15:25 +0000
  • 0d44c0906b simplify the new USING_EIGEN_DATA_TYPES macro Benoit Jacob 2007-10-11 20:32:12 +0000
  • 61de15f361 Democracy 1 - 0 Dictatorship Benoit Jacob 2007-10-11 20:14:01 +0000
  • 3c98677376 fix big bug in loop unrolling Benoit Jacob 2007-10-10 06:33:09 +0000
  • 06e1e0d83b fix 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
  • 7f0a546a81 add norm() and norm2(); some polishing Benoit Jacob 2007-10-08 10:19:49 +0000
  • ac6ff5efd6 reverse certain inner loops. Now the benchmark runs in 3.5s instead of 5.5s before! Benoit Jacob 2007-10-08 07:24:00 +0000
  • f0be175bdc add dot product, extend meta unrolling everywhere Benoit Jacob 2007-10-08 07:17:54 +0000
  • 95b3316701 reorganize meta loop unrolling, add Trace (meta-unrolled), fix compilation issues in the conjugation/adjunction stuff Benoit Jacob 2007-10-07 16:40:49 +0000
  • 4fe78b8e10 reorganization of headers, part 2/2... Benoit Jacob 2007-10-07 15:59:09 +0000
  • be429ebf9c reorganisation of headers, commit47b935fc42cbf2ca992d8a270bc1b0fc97d1f6bc /2.... Benoit Jacob 2007-10-07 15:58:30 +0000
  • f939abd5f3 aargh, had forgotten to 'svn add' a file. Yeah, 'svn st' is my friend, i know... Benoit Jacob 2007-10-07 15:14:05 +0000
  • 9eff685428 add matrix conjugation and adjunction. compilation fixes in the numeric traits. Benoit Jacob 2007-10-07 15:12:41 +0000
  • ae2072406c Introduce Numeric Traits, with fuzzy compares, random numbers, etc. Benoit Jacob 2007-10-07 12:44:42 +0000
  • c768a44909 Add matrix transposition Benoit Jacob 2007-10-01 18:20:35 +0000
  • f5f45d751c Move the meta loop unrolling to a separate file, Loop.h Benoit Jacob 2007-10-01 17:07:38 +0000
  • 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 Benoit Jacob 2007-10-01 07:45:30 +0000
  • 3cf6caba1a remove useless typedefs Benoit Jacob 2007-10-01 06:51:25 +0000
  • 6015698047 Michael 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
  • e116aba444 adapt to coding style used elsewhere in eigen2 Benoit Jacob 2007-10-01 04:57:51 +0000
  • 2d823d8ef6 Generic 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
  • 1d3743d2c5 for 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
  • 4241dddee9 temporarily 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
  • 023773beaa Fix 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
  • 7d41ad9d90 Get 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
  • 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__ Benoit Jacob 2007-09-29 08:28:36 +0000
  • 51e29ae4bd some reorganization leading to simpler expression trees Benoit Jacob 2007-09-28 11:20:29 +0000
  • aa3294f14e add example to the documentation Benoit Jacob 2007-09-28 06:17:36 +0000
  • 835e0c9f67 Found 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
  • 28c44a95c2 Finish prefixing everything with "Ei" Benoit Jacob 2007-09-27 19:54:04 +0000
  • 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. Benoit Jacob 2007-09-27 19:38:40 +0000
  • 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) Benoit Jacob 2007-09-27 19:24:57 +0000
  • d99d9407df add operators *= and /= Benoit Jacob 2007-09-27 19:20:06 +0000
  • 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. Benoit Jacob 2007-09-27 07:42:12 +0000
  • 8a024825d2 fix bugs caused by default copy constructors being called. valgrind, you saved my life. Benoit Jacob 2007-09-26 14:06:32 +0000
  • a2dd9dd6f9 Give the axe to the aliasing system. Improve the evaluation system instead. Benoit Jacob 2007-09-26 14:06:26 +0000
  • 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 Benoit Jacob 2007-09-26 14:06:14 +0000
  • 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 Benoit Jacob 2007-09-09 09:41:15 +0000
  • 3b727ef939 some cleanup Benoit Jacob 2007-09-09 09:03:42 +0000
  • 1dab53d300 update tutorial Benoit Jacob 2007-09-09 08:17:08 +0000
  • fe9b6b8f17 remove 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
  • 506cc5db12 remove operator *= between matrices: too much hassle. Benoit Jacob 2007-09-07 09:47:13 +0000
  • 61158b1922 add operator *= between matrices, with automatic aliasing. add tutorial in doc/ subdirectory. Benoit Jacob 2007-09-07 08:18:21 +0000
  • c030e570fd extend operators += and -= to aliases Benoit Jacob 2007-09-07 07:56:22 +0000
  • c3731b36d1 Add 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
  • 9477e62b68 add a missing operator= for copying a matrix into an expression. Benoit Jacob 2007-09-05 11:39:42 +0000
  • 13a82795f7 forgot to svn add some CMakeLists Benoit Jacob 2007-09-05 10:42:54 +0000
  • 1dabb45d94 Hello, 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
  • 7eeb620880 restart Eigen2 development from scratch. Benoit Jacob 2007-09-01 10:47:07 +0000
  • bb114eb67f remove more stuff that I don't need Benoit Jacob 2007-08-29 08:11:55 +0000
  • c141f18b54 some cleanup Benoit Jacob 2007-08-17 14:38:38 +0000
  • c14ba38df3 some more cleanup in comma-initializer stuff Benoit Jacob 2007-08-17 08:06:19 +0000
  • dfd4d2c487 of 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
  • 07f96b6047 remove 4 files from tvmet that are now replaced by testtraits.cpp Benoit Jacob 2007-08-12 11:30:24 +0000
  • 011c7e9ebd forgot to add another file... Benoit Jacob 2007-08-12 11:05:44 +0000
  • 9a519c30ac forgot to "svn add" a very important file!! Benoit Jacob 2007-08-12 11:00:27 +0000
  • c9a2c3738e lots of fixes for complex numbers. unittests now test complex numbers. Benoit Jacob 2007-08-12 10:59:07 +0000
  • 71268227d4 Big rework of the Traits system, unittests updated. Benoit Jacob 2007-08-12 09:32:17 +0000
  • ca438b2c12 Unit-tests updated for the stuff in the previous commit. Benoit Jacob 2007-07-23 07:39:05 +0000
  • f1bd09024b Big 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
  • d62af65d7f port 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
  • b6dedaf745 remove two unused files Benoit Jacob 2007-07-21 10:25:11 +0000
  • 37bd64b496 Remove 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
  • 152e09a14d remove 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