aboutsummaryrefslogtreecommitdiffhomepage
path: root/Eigen/src
Commit message (Collapse)AuthorAge
* EIGEN_MAKE_ALIGNED_OPERATOR_NEW didn't actually need to get the classGravatar Benoit Jacob2009-01-08
| | | | name as parameter
* the big memory changes. the most important changes are:Gravatar Benoit Jacob2009-01-08
| | | | | | | ei_aligned_malloc now really behaves like a malloc (untyped, doesn't call ctor) ei_aligned_new is the typed variant calling ctor EIGEN_MAKE_ALIGNED_OPERATOR_NEW now takes the class name as parameter
* fix a bug -- bad read found by valgrindGravatar Benoit Jacob2009-01-08
|
* bugfix in sumGravatar Gael Guennebaud2009-01-08
|
* Sparse module:Gravatar Gael Guennebaud2009-01-07
| | | | | | | | * extend unit tests * add support for generic sum reduction and dot product * optimize the cwise()* : this is a special case of CwiseBinaryOp where we only have to process the coeffs which are not null for *both* matrices. Perhaps there exist some other binary operations like that ?
* * re-enabled deprecation warning on msvc now that eigen isn't using ↵Gravatar Kenneth Frank Riddile2009-01-07
| | | | functions microsoft deems deprecated
* fine tuning in dot() and sum(), and prepare for the sparse versions...Gravatar Gael Guennebaud2009-01-07
|
* add custom implementation of hypotGravatar Gael Guennebaud2009-01-07
|
* * disabled deprecation warning under msvc that was being triggered due to ↵Gravatar Kenneth Frank Riddile2009-01-07
| | | | microsoft deprecating portable functions in favor of non-portable ones ( ex: hypot() deprecated in favor of _hypot() )
* remove non standard hypotf function callGravatar Gael Guennebaud2009-01-07
|
* more Scalar conversions fixesGravatar Gael Guennebaud2009-01-07
|
* two scalar conversion fixesGravatar Gael Guennebaud2009-01-07
|
* remove the Matrix_ prefixGravatar Benoit Jacob2009-01-06
|
* call methods from the eigen namespace with prepended Eigen:: in defineGravatar Armin Berres2009-01-06
|
* * 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>...
* 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
* 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
* 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
* * 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.
* * 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
* add matrix * transform productGravatar Gael Guennebaud2008-12-19
|
* 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
* * 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