Benoit Jacob
d99d9407df
add operators *= and /=
2007-09-27 19:20:06 +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
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)
Also remove the obsolete MatrixXpr::hasDynamicSize() method (thanks to
Michael Olbrich for reporting this).
CCMAIL:<michael.olbrich@gmx.net>
2007-09-09 08:15:48 +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
Benoit Jacob
c030e570fd
extend operators += and -= to aliases
2007-09-07 07:56:22 +00:00
Benoit Jacob
c3731b36d1
Add operator += and operator -= between matrices/vectors/expressions
2007-09-07 07:41:10 +00:00
Benoit Jacob
e7ef6dba9d
- Introduce aliasing system
...
- Remove operator<<, use .alias() instead
- Introduce operator/ (scalar)
- Cleanup, unit-tests update.
2007-09-06 10:16:51 +00:00
Benoit Jacob
9477e62b68
add a missing operator= for copying a matrix into an expression.
2007-09-05 11:39:42 +00:00
Benoit Jacob
13a82795f7
forgot to svn add some CMakeLists
2007-09-05 10:42:54 +00:00
Benoit Jacob
1dabb45d94
Hello, World!
...
This is the initial commit for Eigen2, since I restarted it from scratch on Sunday.
2007-09-05 10:42:15 +00:00
Benoit Jacob
7eeb620880
restart Eigen2 development from scratch.
2007-09-01 10:47:07 +00:00
Benoit Jacob
bb114eb67f
remove more stuff that I don't need
2007-08-29 08:11:55 +00:00
Benoit Jacob
c141f18b54
some cleanup
2007-08-17 14:38:38 +00:00
Benoit Jacob
c14ba38df3
some more cleanup in comma-initializer stuff
2007-08-17 08:06:19 +00:00
Benoit Jacob
dfd4d2c487
of course, i had forgotten to svn add one file
2007-08-17 07:11:50 +00:00
Benoit Jacob
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
2007-08-17 07:10:44 +00:00
Benoit Jacob
07f96b6047
remove 4 files from tvmet that are now replaced by testtraits.cpp
2007-08-12 11:30:24 +00:00
Benoit Jacob
011c7e9ebd
forgot to add another file...
2007-08-12 11:05:44 +00:00
Benoit Jacob
9a519c30ac
forgot to "svn add" a very important file!!
2007-08-12 11:00:27 +00:00
Benoit Jacob
c9a2c3738e
lots of fixes for complex numbers. unittests now test complex numbers.
2007-08-12 10:59:07 +00:00
Benoit Jacob
71268227d4
Big rework of the Traits system, unittests updated.
2007-08-12 09:32:17 +00:00
Benoit Jacob
ca438b2c12
Unit-tests updated for the stuff in the previous commit.
2007-07-23 07:39:05 +00:00
Benoit Jacob
f1bd09024b
Big overhaul and simplification of the NumericTraits system.
...
Add a utility header for random numbers (might be merged into NumericTraits)
2007-07-23 07:38:07 +00:00
Benoit Jacob
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.
2007-07-21 10:36:47 +00:00
Benoit Jacob
b6dedaf745
remove two unused files
2007-07-21 10:25:11 +00:00
Benoit Jacob
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.
2007-06-18 07:01:42 +00:00
Benoit Jacob
152e09a14d
remove long long, long double, unsigned, short, char, bool types.
...
Keep only int, float, double, complex<T>.
2007-06-18 05:59:19 +00:00
Benoit Jacob
b155789aa7
begin porting the unittests to QTestLib. The first test, "selfTest"
...
already runs and succeeds.
Also expand this test by testing more types and sizes.
2007-06-08 07:39:51 +00:00
Benoit Jacob
681eb1ed7d
add TVMET_UNUSED macro, as a Q_UNUSED replacement. Use it to shut down warnings
...
in NumericTraits.h.
2007-06-08 07:24:14 +00:00
Benoit Jacob
9dd7a0b602
add eigen-style typedefs
2007-06-08 05:57:47 +00:00
Benoit Jacob
9939776cdb
more cmake improvements; start removing the autotools stuff.
2007-06-07 06:58:37 +00:00
Benoit Jacob
e30e7d7bcd
move cmake modules to a modules/ subdir
2007-06-07 06:32:53 +00:00
Benoit Jacob
6fe6a81839
Fix enough stuff, and remove enough dead stuff, to make a simple test program compile
2007-06-05 08:44:53 +00:00
Benoit Jacob
e3a45173b5
argh, forgot to svn add...
2007-06-04 19:30:50 +00:00
Benoit Jacob
e198eb437c
add platform check for __attribute__((always_inline))
2007-06-04 19:29:41 +00:00
Benoit Jacob
f878711042
Add cmake module finding the appropriate variant of the "restrict" keyword.
...
Could that be useful to have in kdelibs/cmake/modules ?
2007-06-03 17:45:19 +00:00
Benoit Jacob
6d749c172a
replace size_t with int everywhere.
...
The size_t type means a number of _bytes_, and it was misused as
counting e.g. the number of rows/columns in a matrix. Moreover, it is unsigned,
which can give strange bugs if a signed/unsigned mismatch occurs.
2007-06-01 07:56:24 +00:00
Benoit Jacob
887ff84376
remove custom assert system and use plain standard asserts instead.
...
we don't need no complication.
2007-06-01 07:16:33 +00:00
Benoit Jacob
8c001c1342
remove TVMET_DYNAMIC_MEMORY define and corresponding checks.
2007-06-01 06:38:02 +00:00
Benoit Jacob
5205e88113
adding more CMakeLists, now tvmet is fully installed.
2007-06-01 06:25:51 +00:00
Benoit Jacob
eab54b49ea
More cleanup, add CMakeLists for the testsuite. Now need to port it
...
to QTestLib :/
2007-05-31 10:09:44 +00:00
Benoit Jacob
8f202dc67f
Complete the cmake platform checks and remove unnecessary defines.
2007-05-31 07:21:34 +00:00
Benoit Jacob
658eccd43b
Convert 5 m4 checks to cmake modules
2007-05-30 18:08:35 +00:00