Benoit Jacob
8f1ce52e76
bump
2009-11-25 08:46:42 -05:00
Benoit Jacob
522022ebfc
wow, restore Gael's changeset 5455d6fbe8d889f100b1526d046da16b375fc451
...
that I had accidentally undone in my changeset c64ca6870ea3f76b5ea5182bba1e62fd5a632f89
.
2009-11-25 08:31:25 -05:00
Benoit Jacob
fc7f39980c
backport improvement in 4x4 inverse precisio, and rigorous precision test
2009-11-23 10:27:10 -05:00
Gael Guennebaud
70af59c455
an attempt to fix compilation with recent MSVC
2009-11-23 10:29:40 +01:00
Benoit Jacob
f4dd399499
fix warnings
2009-11-16 14:15:47 -05:00
Benoit Jacob
153557527e
backport: init-by-zero option: resize with same size must be a NOP
2009-11-16 13:47:02 -05:00
Benoit Jacob
6aad7f80ff
avoid infinite loop, optimization not important, so a plain for loop is the safe way
2009-11-12 14:09:53 -05:00
Benoit Jacob
e3f6c3115a
backport the initialize-by-0 option
2009-11-12 12:53:24 -05:00
Benoit Jacob
a2c838ff8f
fix PowerPC platform detection
2009-11-11 10:52:00 -05:00
Hauke Heibel
808c4e9581
Fixed the packport of 62 - Packet4f/d/i does not exist in 2.0.
2009-11-05 10:49:49 +01:00
Hauke Heibel
65331c3884
backporting3979f6d8aad001174160774b49b747430a7686b5
...
: fixed bug #62
2009-11-04 17:49:34 +01:00
Benoit Jacob
e158cdd61d
fix Matrix::Map/MapAligned documentation, and rephrase the tutorial on Map
2009-10-31 14:45:50 -04:00
Benoit Jacob
c64ca6870e
this explicit keyword can't hurt
2009-10-31 11:49:20 -04:00
Benoit Jacob
6a90f6c5f0
* default MatrixBase ctor: make it protected, make it a static assert, only do the check when debugging eigen to avoid slowing down compilation for everybody (this check is paranoiac, it's very seldom useful)
...
* add private MatrixBase ctors to catch cases when the user tries to construct MatrixBase objects directly
2009-10-31 11:48:33 -04:00
Gael Guennebaud
22dd13fdb9
backporting fix of #65
2009-10-29 14:26:38 +01:00
Gael Guennebaud
5455d6fbe8
backporting fix of #65
2009-10-29 14:26:00 +01:00
Benoit Jacob
de693cf34a
remove extra ;
2009-10-28 10:04:13 -04:00
Benoit Jacob
21c4e0802d
fix potential warning
2009-10-28 09:45:09 -04:00
Benoit Jacob
241b9d34a7
Hey, I was insomniac too ;)
...
This restores much of the performance benefit of Euler's method, without compromising accuracy (tested on 1e+7 matrices). Namely, my benchmark now runs in 1.5 s instead of 2.2 s. The same in the default branch runs in 1.08 s instead of 1.9 s, so the default branch benefits even more!
2009-10-28 03:50:29 -04:00
Benoit Jacob
9e15a6da2e
Fix 4x4 matrix inversion. Applying Euler's trick is more tricky than what "high performance matrix inversion" websites would have you believe. Our 4x4 matrix inversion wasn't numerically stable, because in applying the Euler trick we didn't take the 2x2 block of biggest determinant. As a result, with float, we got relative errors above 1% every 1000 random matrices, and we got completely wrong results every 10000 matrices.
...
Note that this decreases the performance, but we're still significantly faster than the brutal cofactors approach.
2009-10-27 07:35:25 -04:00
Benoit Jacob
38bc82a6f7
bump
2009-10-24 16:35:46 -04:00
Benoit Jacob
6173eb67ff
really fix pkgconfig support and make install.
...
* mistake: was using the install dir instead of binary dir
* was also using INCLUDE_INSTALL_DIR before it was set, so on a first cmake run, the pkgconfig file was bad
2009-10-24 16:16:48 -04:00
Benoit Jacob
9f89431cea
install NewStdVector
2009-10-23 19:58:37 -04:00
Benoit Jacob
e1c96f3fe0
bump
2009-10-23 18:37:05 -04:00
Benoit Jacob
46f0fe3b4b
SVD:
...
* implement default ctor, users were relying on the compiler generater one and reported issues on the forum
* turns out that we crash on 1x1 matrices but work on Nx1. No interest in fixing that, so just guard by assert and unit test.
2009-10-23 18:05:55 -04:00
Benoit Jacob
21d081c6da
bump
2009-10-22 16:14:03 -04:00
Benoit Jacob
be8ae0d45f
* CMakeLists: only pass -Wextra if it's supported (it's not on gcc 3.3)
...
* MapBase: put static first (fix gcc 3.3 warning)
* StdVector: add missing newline at end
2009-10-22 15:20:02 -04:00
Hauke Heibel
fc8b54c142
Code cleanup.
2009-10-22 20:06:05 +02:00
Hauke Heibel
76d578fb99
This does fix #61 . See the comments in #61 for details.
2009-10-22 09:29:59 +02:00
Benoit Jacob
9af431e78e
tentative fix for bug #61
2009-10-21 18:55:54 -04:00
Hauke Heibel
a4a3e511d0
Added missing resize case for m_outerSize==0.
2009-10-15 23:30:15 +02:00
Hauke Heibel
ffee27bf72
Fixed uninitialized variables in unit tests.
...
Fixed /W4 warning C4512 (LU was left out on purpose).
2009-10-14 08:33:36 +02:00
Benoit Jacob
5e24fbbead
add assert for M>=N
2009-10-13 14:17:25 -04:00
Benoit Jacob
09364c8d05
fix compilation with gcc 3.3
2009-10-12 12:29:07 -04:00
Gael Guennebaud
3b8938ee1a
backport d97d307fcfc9c9421562705db7bf734865dfd53b
2009-10-06 10:36:59 +02:00
Gael Guennebaud
e43d630d80
fix #10 : the reallocateSparse function was half coded
...
(transplanted from 55de162cf6fa3e666ef6b07223c18ae9cd1f1a30
)
2009-06-08 14:05:23 +02:00
Benoit Jacob
8084dbc86a
copy the Memory.h file from the devel branch and remove some added trailing spaces.
...
This is now very harmless to do as the big change (EIGEN_ALIGN preprocessor stuff and the body of ei_aligned_malloc) was already introduced in 2.0.6.
Should address Björn's issue, and also improve FreeBSD platform detection.
2009-09-25 09:09:14 -04:00
Benoit Jacob
922e11e184
bump
2009-09-23 12:08:16 -04:00
Benoit Jacob
8c2ace33c9
backport Rohit's vectorized quaternion product
2009-09-22 13:39:30 -04:00
Benoit Jacob
b66516e746
fix bug #42 : add missing Transform::Identity()
2009-09-19 20:00:36 -04:00
Benoit Jacob
ecf64d2dc3
Allow to override EIGEN_RESTRICT, to satisfy a smart ass blogger who claims
...
that eigen2 owes all its performance to nonstandard restrict keyword.
well, this can also improve portability in case some compiler doesn't have __restrict.
2009-09-19 19:46:40 -04:00
Benoit Jacob
6af2c2c67a
backported the following to 2.0:
...
* EIGEN_ALIGN and EIGEN_DONT_ALIGN and the corresponding logic in Macros.h
(instead of using EIGEN_ARCH_WANTS_ALIGNMENT)
* The body of ei_aligned_malloc and ei_aligned_free
The reason for this backporting is that a user complained that with eigen 2.0 he got a warning at Memory.h:81 that the return value of posix_memalign was not used, and that function was declared with an attribute warn_unused_result.
Looking at this, it seemed that the body of this function was already overly complicated, and fixing this warning made it even worse, while the devel branch had a much simpler body and didn't suffer from that problem.
Then it was necessary to update ei_aligned_free too, and to backport EIGEN_ALIGN.
Inch' Allah....
2009-09-21 05:39:55 -04:00
Benoit Jacob
8097487b9d
backport bugfix in visitor (didn't work on rowvectors, fixed by splitting the vector case away from the matrix case)
2009-09-16 14:28:49 -04:00
Benoit Jacob
aaf1826384
backport: the first fix was the good one
2009-09-03 01:28:12 -04:00
Benoit Jacob
3590911de2
backport the fix to bug #50 : compilation errors with swap
2009-09-02 17:04:34 -04:00
Benoit Jacob
82df5b4a24
backport the new StdVector as NewStdVector
...
make StdVector be a wrapper around it if EIGEN_USE_NEW_STDVECTOR is defined
otherwise StdVector doesn't change ---> compatibility is preserved
backport unit-test
2009-08-29 12:13:52 -04:00
Benoit Jacob
e0cbf79e5a
bump to 2.0.5
2009-08-22 17:19:08 -04:00
Benoit Jacob
3af177058e
fix nasty bug: when calling the cache friendly product, one used the product xpr flags instead of the destination flags, resulting in a transposed result when the storage orders didn't match.
2009-08-21 16:03:14 -04:00
Benoit Jacob
6580278e2c
fix potential compilation issue
2009-08-21 12:08:59 -04:00
Benoit Jacob
dcefb66283
Fix bug #41 , our resize() method didn't work with gcc 4.1
2009-08-21 11:53:04 -04:00