aboutsummaryrefslogtreecommitdiffhomepage
Commit message (Collapse)AuthorAge
...
* * suppressed some minor warningsGravatar Kenneth Frank Riddile2009-01-06
|
* * introduce macros to replace inheritance for operator new overloadingGravatar Benoit Jacob2009-01-06
| | | | | | | | | (former solution still available and tested) This plays much better with classes that already have base classes -- don't force the user to mess with multiple inheritance, which gave much trouble with MSVC. * Expand the unaligned assert dox page * Minor fixes in the lazy evaluation dox page
* ...so the placement new is really trivial:)Gravatar Benoit Jacob2009-01-05
|
* oops, placement new should take a void*Gravatar Benoit Jacob2009-01-05
|
* we also had to overload the placement new... issue uncovered by Tim whenGravatar Benoit Jacob2009-01-05
| | | | doing QVector<Vector3d>...
* forgot to install the LeastSquares headerGravatar Benoit Jacob2009-01-05
|
* release beta5, fix a doc typoGravatar Benoit Jacob2009-01-05
|
* gaaaaaaaaaaaaaaaaaahGravatar Benoit Jacob2009-01-05
| | | | | | | can't believe that 3 people wasted so much time because of a missing & !!!!! and this time MSVC didn't catch it so it was really copying the vector on the stack at an unaligned location!
* problem solved, we really want public inheritance and it is onlyGravatar Benoit Jacob2009-01-05
| | | | automatic when the _child_ class is a struct.
* the empty base class optimization is not standard. Most compilers implement ↵Gravatar Benoit Jacob2009-01-05
| | | | | | | a basic form of it; however MSVC won't implement it if there is more than one empty base class. For that reason, we shouldn't give Matrix two empty base classes, since sizeof(Matrix) must be optimal. So we overload operator new and delete manually rather than inheriting an empty struct for doing that.
* *fix compilation with MSVC 2005 in the Transform::construct_from_matrixGravatar Benoit Jacob2009-01-05
| | | | *fix warnings with MSVC 2005: converting M_PI to float gives loss-of-precision warnings
* didn't meant to commit the fortran check. but anyway, unfortunately it ↵Gravatar Armin Berres2009-01-05
| | | | doesn't work the way iot should. the test fails and cmake will terminate if it doesn't find a fortran compiler
* inherit from ei_with_aligned_operator_new even with disabled vectorizationGravatar Armin Berres2009-01-05
|
* *add PartialRedux::cross() with unit testGravatar Benoit Jacob2009-01-05
| | | | | *add transform-from-matrices test *undo an unwanted change in Matrix
* fix compilation on apple: _mm_malloc was undefined. the fix is to just use ↵Gravatar Benoit Jacob2009-01-05
| | | | malloc since on apple it already returns aligned ptrs
* fix segfault due to non-aligned packetsGravatar Benoit Jacob2009-01-04
|
* oops forgot important parenthesesGravatar Benoit Jacob2009-01-04
|
* Fix bug in Matrix, in determining whether to overload operator new with an ↵Gravatar Benoit Jacob2009-01-04
| | | | aligned one, introduced in r905543
* * fix a unused variable warningGravatar Benoit Jacob2009-01-04
| | | | * if svnversion returns prose such as "exported" then discard that
* * require CMake 2.6.2 everywhere, Alexander Neundorf says it'd make itGravatar Benoit Jacob2009-01-04
| | | | | | easier to have a uniform requirement in kdesupport for when he makes fixes. * add eigen versioning macros
* rename Regression --> LeastSquaresGravatar Benoit Jacob2009-01-04
|
* * the 4th template param of Matrix is now Options. One bit for storageGravatar Benoit Jacob2009-01-04
| | | | | | | | | | | | | | | | order, one bit for enabling/disabling auto-alignment. If you want to disable, do: Matrix<float,4,1,Matrix_DontAlign> The Matrix_ prefix is the only way I can see to avoid ambiguity/pollution. The old RowMajor, ColMajor constants are deprecated, remain for now. * this prompted several improvements in matrix_storage. ei_aligned_array renamed to ei_matrix_array and moved there. The %16==0 tests are now much more centralized in 1 place there. * unalignedassert test: updated * update FindEigen2.cmake from KDElibs * determinant test: use VERIFY_IS_APPROX to fix false positives; add testing of 1 big matrix
* * In LU solvers: no need anymore to use row-major matricesGravatar Benoit Jacob2009-01-03
| | | | | | | | * Matrix: always inherit WithAlignedOperatorNew, regardless of vectorization or not * rename ei_alloc_stack to ei_aligned_stack_alloc * mixingtypes test: disable vectorization as SSE intrinsics don't allow mixing types and we just get compile errors there.
* Added a SparseVector class (not tested yet)Gravatar Gael Guennebaud2009-01-02
|
* fix the nomalloc test: it didn't catch the ei_stack_alloc inGravatar Benoit Jacob2008-12-31
| | | | | | | | | | | cachefriendlyproduct, that should be banned as well as depending on the platform they can give a malloc, and they could happen even with (large enough) fixed size matrices. Corresponding fix in Product.h: cachefriendly is now only used for dynamic matrices -- fixedsize, no matter how large, doesn't use the cachefriendly product. We don't need to care (in my opinion) about performance for large fixed size, as large fixed size is a bad idea in the first place and it is more important to be able to guarantee clearly that fixed size never causes a malloc.
* add unit-test checking the assertion on unaligned arrays -- checkingGravatar Benoit Jacob2008-12-31
| | | | that it's triggered when and only when it should.
* * make WithAlignedOperatorNew always align even when vectorization is disabledGravatar Benoit Jacob2008-12-30
| | | | * make ei_aligned_malloc and ei_aligned_free honor custom operator new and delete
* Sparse module, add an assertion and make the use of CHOLMOD's solve method ↵Gravatar Gael Guennebaud2008-12-27
| | | | the default.
* Sparse module:Gravatar Gael Guennebaud2008-12-27
| | | | | | * enable complex support for the CHOLMOD LLT backend using CHOLMOD's triangular solver * quick fix for complex support in SparseLLT::solve
* fix bug discovered by Frank:Gravatar Benoit Jacob2008-12-24
| | | | ei_alloc_stack must really return aligned pointers
* one last compilation fix ...Gravatar Benoit Jacob2008-12-22
|
* unless i find more failures in the tests, this will be beta3...Gravatar Benoit Jacob2008-12-22
| | | | | * fixes for mistakes (especially in the cast() methods in Geometry) revealed by the new "mixing types" test * dox love, including a section on coeff access in core and an overview in geometry
* * add unit-tests to check allowed and forbiddent mixing of different scalar ↵Gravatar Benoit Jacob2008-12-22
| | | | | | | types * fix issues in Product revealed by this test * in Dot.h forbid mixing of different types (at least for now, might allow real.dot(complex) in the future).
* unfuck v.cwise()*w where v is real and w is complexGravatar Benoit Jacob2008-12-21
|
* * the Upper->UpperTriangular changeGravatar Benoit Jacob2008-12-20
| | | | * finally get ei_add_test right
* fix nasty little bug in ei_add_testGravatar Benoit Jacob2008-12-20
|
* add matrix * transform productGravatar Gael Guennebaud2008-12-19
|
* * fix a test giving some false positivesGravatar Benoit Jacob2008-12-19
| | | | * add coverage for various operator*=
* Transform*Transform should return TransformGravatar Benoit Jacob2008-12-19
| | | | unit test compiles again
* * fix a vectorization issue in ProductGravatar Gael Guennebaud2008-12-19
| | | | | | * use _mm_malloc/_mm_free on other platforms than linux of MSVC (eg., cygwin, OSX) * replace a lot of inline keywords by EIGEN_STRONG_INLINE to compensate for poor MSVC inlining
* various MSVC fixes in BTLGravatar Gael Guennebaud2008-12-19
|
* * extractRotation ---> rotationGravatar Benoit Jacob2008-12-19
| | | | | * expand the geometry/Transform tests, after Mek's reports * fix my own stupidity in eigensolver test
* SelfAdjointEigenSolver: add operatorSqrt() and operatorInverseSqrt()Gravatar Benoit Jacob2008-12-19
|
* * more MSVC warning fixes from Kenneth RiddileGravatar Benoit Jacob2008-12-19
| | | | | | | | * 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
* * forgot to svn add 2 filesGravatar Benoit Jacob2008-12-18
| | | | * idea of Keir Mierle: make the static assert error msgs UPPERCASE
* Patch by Kenneth Riddile: disable MSVC warnings, reenable them outsideGravatar Benoit Jacob2008-12-18
| | | | of Eigen, and add a MSVC-friendly path in StaticAssert.
* * fix in IO.h, a useless copy was made because of assignment fromGravatar Benoit Jacob2008-12-18
| | | | | | | | | | | | | | | 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.
* Macros: add MSVC paths, add an important comment on EIGEN_ALIGN_128Gravatar Benoit Jacob2008-12-18
|
* improved MSVC support in cmake files (SSE)Gravatar Gael Guennebaud2008-12-18
|
* somehow we had forgotten this very important static assertion...Gravatar Benoit Jacob2008-12-18
|