Benoit Jacob
84bb868f07
* more MSVC warning fixes from Kenneth Riddile
...
* actually GCC 4.3.0 has a bug, "deprecated" placed at the end
of a function prototype doesn't have any effect, moving them to
the start of the function prototype makes it actually work!
* finish porting the cholesky unit-test to the new LLT/LDLT,
after the above fix revealed a deprecated warning
2008-12-19 02:59:04 +00:00
Benoit Jacob
f34a4fa335
* forgot to svn add 2 files
...
* idea of Keir Mierle: make the static assert error msgs UPPERCASE
2008-12-18 21:04:06 +00:00
Benoit Jacob
8106d35408
Patch by Kenneth Riddile: disable MSVC warnings, reenable them outside
...
of Eigen, and add a MSVC-friendly path in StaticAssert.
2008-12-18 20:48:02 +00:00
Benoit Jacob
fabaa6915b
* fix in IO.h, a useless copy was made because of assignment from
...
Derived to MatrixBase.
* the optimization of eval() for Matrix now consists in a partial
specialization of ei_eval, which returns a reference type for Matrix.
No overriding of eval() in Matrix anymore. Consequence: careful,
ei_eval is no longer guaranteed to give a plain matrix type!
For that, use ei_plain_matrix_type, or the PlainMatrixType typedef.
* so lots of changes to adapt to that everywhere. Hope this doesn't
break (too much) MSVC compilation.
* add code examples for the new image() stuff.
* lower a bit the precision for floats in the unit tests as
we were already doing some workarounds in inverse.cpp and we got some
failed tests.
2008-12-18 20:36:25 +00:00
Benoit Jacob
b27a3644a2
Macros: add MSVC paths, add an important comment on EIGEN_ALIGN_128
2008-12-18 13:36:31 +00:00
Gael Guennebaud
93f8d56789
improved MSVC support in cmake files (SSE)
2008-12-18 09:07:36 +00:00
Benoit Jacob
15d72d3f9a
somehow we had forgotten this very important static assertion...
2008-12-18 03:47:49 +00:00
Gael Guennebaud
9084e2a216
oops I commited bad stuff in the previous commit
2008-12-17 18:54:28 +00:00
Gael Guennebaud
6e138d0069
more MSVC cmake fixes
2008-12-17 18:37:04 +00:00
Gael Guennebaud
4cb63808d4
some cmake fixes for windows and GSL
2008-12-17 17:50:43 +00:00
Gael Guennebaud
c98fe0185e
fix non standard non-const std::complex::real/imag issue
2008-12-17 17:31:23 +00:00
Benoit Jacob
5f582aa4e8
fix bad typos, thanks to Kenneth Riddile
2008-12-17 17:14:37 +00:00
Benoit Jacob
c22d10f94c
LU class:
...
* add image() and computeImage() methods, with unit test
* fix a mistake in the definition of KernelResultType
* fix and improve comments
2008-12-17 16:47:55 +00:00
Gael Guennebaud
e3a8431a4a
found one bug in the previous ++ changes
2008-12-17 16:04:21 +00:00
Benoit Jacob
89f468671d
* replace postfix ++ by prefix ++ wherever that makes sense in Eigen/
...
* fix some "unused variable" warnings in the tests; there remains a libstdc++ "deprecated"
warning which I haven't looked much into
2008-12-17 14:30:01 +00:00
Benoit Jacob
2110cca431
actually honor EIGEN_STACK_ALLOCATION.
...
Can set it to 0 to disable stack alloc which guarantees that bad alloc throws exceptions if they are enabled.
2008-12-16 15:44:48 +00:00
Benoit Jacob
38b83b4157
* throw bad_alloc if exceptions are enabled, after patch by Kenneth Riddile
...
* disable vectorization on MSVC 2005, as it doesn't have all the required intrinsics. require 2008.
2008-12-16 15:17:29 +00:00
Benoit Jacob
50105c3ed6
Hopefully fix compilation of SSE Packetmath with MSVC.
...
The reason why we didn't realize until now that it didn't compile at all
with MSVC is that before today with MSVC the SSE2 detection didn't work.
2008-12-16 03:48:49 +00:00
Benoit Jacob
0a220721d1
Finally work around enough of MSVC preprocessor dumbness so that it actually detects SSE2
2008-12-15 21:20:40 +00:00
Benoit Jacob
1ad751b991
only enable the "unaligned array" assert if vectorization is enabled.
...
if vectorization is disabled, WithAlignedOperatorNew is empty!
2008-12-15 20:49:03 +00:00
Benoit Jacob
55b603e457
* fix a bug I introduced in WithAlignedOperatorNew
...
* add an important comment
2008-12-15 20:14:59 +00:00
Benoit Jacob
763f0a2434
use ei_aligned_malloc and ei_aligned_free also in WithAlignedOperatorNew, so this too should now work with MSVC.
2008-12-15 17:55:11 +00:00
Benoit Jacob
9b1a3d6e19
small optimization (for MSVC) and simplification of ei_alligned_malloc
2008-12-15 17:33:19 +00:00
Benoit Jacob
dd139b92b4
work around the braindead msvc preprocessor
2008-12-15 17:16:22 +00:00
Benoit Jacob
11c8a6bf63
Fix detection of SSE2 with MSVC.
2008-12-15 16:14:54 +00:00
Benoit Jacob
703951d5cd
Fix memory alignment (hence vectorization) on MSVC thanks to help from Armin Berres.
2008-12-15 15:54:33 +00:00
Gael Guennebaud
d11c8704e0
oops, forget to remove a line
2008-12-15 12:35:46 +00:00
Gael Guennebaud
a164646c77
more warning fixes by Armin Berres
2008-12-15 12:30:04 +00:00
Benoit Jacob
936eaf600a
compilation fix thanks to Dennis Schridde
2008-12-13 21:09:19 +00:00
Gael Guennebaud
ef0cd3a289
one more warning fix, thanks to Armin Berres
2008-12-12 13:50:01 +00:00
Gael Guennebaud
1ed17b037d
* fix a couple of warnings (patch from Armin Berres)
...
* allow Map to map null data
2008-12-12 12:54:45 +00:00
Gael Guennebaud
5015e48361
Sparse module: add a more flexible SparseMatrix::fillrand() function
...
which allows to fill a matrix with random inner coordinates (makes sense
only when a very few coeffs are inserted per col/row)
2008-12-11 18:26:24 +00:00
Gael Guennebaud
beabf008b0
bugfix in DiagonalProduct: a "DiagonalProduct<SomeXpr>" expression
...
is now evaluated as a "DiagonalProduct<Matrix<SomeXpr::Eval> >".
Note that currently this only happens in DiagonalProduct.
2008-12-10 19:02:13 +00:00
Gael Guennebaud
ba9a53f9c6
fix compilation issue for 64bit systems (pointer <=> size_t)
2008-12-08 15:07:42 +00:00
Gael Guennebaud
52a30c1d54
fix minor mistake in the inside eigen example
2008-12-08 10:07:09 +00:00
Benoit Jacob
cb409914e0
* call it beta2
...
* improvements in Matrix documentation
* document copyCoeff and copyPacket even if it's hidden from doxygen
2008-12-07 23:23:36 +00:00
Benoit Jacob
069ecbb4ab
* complete the change norm2->squaredNorm in PartialRedux
...
* somehow the NICE_RANDOM stuff wasn't being used anymore and
tests were sometimes failing again. Fixed by #including Eigen/Array
instead of cherry-picking just Random.h.
* little fixes in the unaligned assert page
2008-12-07 21:40:53 +00:00
Benoit Jacob
09fd69d734
* add Transform explicit constructors taking translation/scaling/rotation
...
* add Transform::operator= taking rotation.
An old remnant was left commented out. Why was it disabled?
* slight optimization in operator= taking translation
* slight optimization (perhaps) in the new memory assertion
2008-12-07 17:49:56 +00:00
Benoit Jacob
6700f07fb0
actually this message is probably more effective at making people read the web page...
2008-12-07 16:38:45 +00:00
Benoit Jacob
08e6b7ad80
Make deluxe assertion with deluxe error message with link to deluxe web page
...
for this very nasty bug (unaligned member in dynamically allocated struct)
that our friends at Krita just encountered:
http://bugs.kde.org/show_bug.cgi?id=177133
CCBUG:177133
2008-12-07 16:31:32 +00:00
Benoit Jacob
7e8ee5b527
hide internal stuff from doxygen by using #ifndef EIGEN_PARSED_BY_DOXYGEN.
...
Sadly, \internal didn't hide internal stuff, it only hides the documentation!
2008-12-07 15:40:40 +00:00
Benoit Jacob
93c1f62979
Use an aligned IOFormat in the docs
2008-12-06 23:20:30 +00:00
Benoit Jacob
2b20da624a
* improvements in the tutorial: triangular matrices, linear algebra
...
* minor fixes in Part and StaticAssert
* EulerAngles: remove the FIXME as I think the current version is fine
2008-12-06 22:21:29 +00:00
Benoit Jacob
bb33ec4ef3
* fix compile error when C++0x is enabled: static_assert() needs ;
...
thanks to devurandom for reporting
* remove redundant ; in ei_internal_assert
* minor fixes in InsideEigenExample.dox
2008-12-06 16:49:03 +00:00
Gael Guennebaud
9c0deb55ca
bugfix in matrix to Euler-angles function
2008-12-06 11:04:33 +00:00
Gael Guennebaud
faf942a947
Add a generic matrix to Euler-angles function.
...
Perhaps the prototype of this function could be improved,
see comments in the code
2008-12-05 15:56:28 +00:00
Benoit Jacob
6d1439a52f
add big "what happens inside eigen" tutorial for people interested in
...
Eigen internals
2008-12-05 14:45:42 +00:00
Benoit Jacob
2ff7961c10
split off the lazy evaluation part from the quickstartguide; actually by mistake i had
...
already committed part of that change so i commit the rest even if it's not much, so
building docs from trunk works again.
2008-12-03 23:15:26 +00:00
Benoit Jacob
c1e2156d8a
* Much better, consistent error msgs when mixing different scalar types:
...
- in matrix-matrix product, static assert on the two scalar types to be the same.
- Similarly in CwiseBinaryOp. POTENTIALLY CONTROVERSIAL: we don't allow anymore binary
ops to take two different scalar types. The functors that we defined take two args
of the same type anyway; also we still allow the return type to be different.
Again the reason is that different scalar types are incompatible with vectorization.
Better have the user realize explicitly what mixing different numeric types costs him
in terms of performance.
See comment in CwiseBinaryOp constructor.
- This allowed to fix a little mistake in test/regression.cpp, mixing float and double
- Remove redundant semicolon (;) after static asserts
2008-12-03 21:01:55 +00:00
Alexander Neundorf
84cc69f0f3
-add quotes around the configured directories so build dirs with spaces produce some errors less
...
Alex
2008-12-02 13:04:32 +00:00