Commit Graph

  • f645d1f911 * complete the support of QVector via a QtAlignedMalloc header * add a unit test for QVector which shows the issue with QVector::fill Gael Guennebaud 2009-01-20 16:50:47 +00:00
  • 8973d12cda * QR: add a rank() method and improve the accuracy of the rank * computation * Array: add a count() method and rename AllAndAny.h file to BooleanRedux.h Gael Guennebaud 2009-01-20 16:37:52 +00:00
  • 81cb887baf fix bug in the computation of rank very difficult to catch in unit-tests because this is very noisy Benoit Jacob 2009-01-20 16:21:56 +00:00
  • 3134d5290b forgot to include the update of the qr test Gael Guennebaud 2009-01-20 10:38:56 +00:00
  • 3e5b3a33fa quick bugfix in QR::isFullRank() (not 100% sure about the reference value for the comparison to 0) Gael Guennebaud 2009-01-20 10:37:39 +00:00
  • 8690ba923c I assume these files where supposed to be installed Marijn Kruisselbrink 2009-01-19 22:58:15 +00:00
  • 36c478cd6e optimize A * v product for A sparse and row major Gael Guennebaud 2009-01-19 22:29:28 +00:00
  • 178858f1bd add a flexible sparse matrix class designed for fast matrix assembly Gael Guennebaud 2009-01-19 15:20:45 +00:00
  • 385fd3d918 * clarify the situation with experimental parts * remove all what was marked deprecated Benoit Jacob 2009-01-19 15:02:24 +00:00
  • dcaa58744e #error if min or max is defined Benoit Jacob 2009-01-19 13:23:41 +00:00
  • 9ae03f4589 add a compilation test in FindGoogleHash.cmake to catch configuration issues when multiple compilers are used on the same system. Gael Guennebaud 2009-01-19 08:51:06 +00:00
  • 708fa36750 revert bad commit Gael Guennebaud 2009-01-19 08:21:32 +00:00
  • d58bb54e7f add a smart realloc algorithm when filling a sparse matrix Gael Guennebaud 2009-01-18 18:00:19 +00:00
  • 0c7974dd4d bugfix in Map by Keir Mierle Gael Guennebaud 2009-01-18 09:53:06 +00:00
  • 22792c696f add ublas vector of vector in sparse setter bench Gael Guennebaud 2009-01-17 16:24:49 +00:00
  • 61b85b1436 update documentation (thanks Kenneth) Benoit Jacob 2009-01-17 14:24:09 +00:00
  • cc6c4d807b add a sparse setter bench Gael Guennebaud 2009-01-17 14:05:01 +00:00
  • c5020c6e8e patch from Ricard Marxer: add doc example for select() Gael Guennebaud 2009-01-17 09:59:32 +00:00
  • 1eec38dc36 Rewrite the vectorized meta unroller of sum to reduce instruction dependency => significant speed up Gael Guennebaud 2009-01-17 09:48:58 +00:00
  • e556e647f4 typo found by Ben Axelrod CCMAIL:baxelrod@coroware.com Benoit Jacob 2009-01-17 00:53:38 +00:00
  • 86a192681e * Started a tutorial page for sparse matrix. * Updated Mainpage.dox's directives used by kde's scripts Gael Guennebaud 2009-01-16 17:20:12 +00:00
  • 48df9ed715 Add a data() function in Map and Block Gael Guennebaud 2009-01-16 10:25:53 +00:00
  • ccdcebcf03 Sparse module: add support for sparse selfadjoint * dense Gael Guennebaud 2009-01-15 18:52:14 +00:00
  • 9a4b7998cf Sparse module: add row/col methods to the iterators Gael Guennebaud 2009-01-15 14:16:41 +00:00
  • 87241089e1 Sparse module: bugfix in SparseMatrix::resize(), now the indices are correctly initialized to 0. Gael Guennebaud 2009-01-15 13:30:50 +00:00
  • 96e1e582ff Sparse module: * add a MappedSparseMatrix class (like Eigen::Map but for sparse matrices) * rename SparseArray to CompressedStorage Gael Guennebaud 2009-01-15 12:52:59 +00:00
  • 4f33fbfc07 two compilation fixes Gael Guennebaud 2009-01-15 08:26:40 +00:00
  • 2d53466fa9 Sparse module: * improved performance of mat*=scalar * bug fix in cwise* Gael Guennebaud 2009-01-14 21:27:54 +00:00
  • f5741d4277 add a sparse * dense_vector bench Gael Guennebaud 2009-01-14 18:27:17 +00:00
  • 0b606dcccd Add support for sparse * dense and dense * sparse matrix/vector products Gael Guennebaud 2009-01-14 17:41:55 +00:00
  • c4c70669d1 Big rewrite in the Sparse module: SparseMatrixBase no longer inherits MatrixBase. That means a lot of features which were available for sparse matrices via the dense (and super slow) implemention are no longer available. All features which make sense for sparse matrices (aka can be implemented efficiently) will be implemented soon, but don't expect to see an API as rich as for the dense path. Other changes: * no block(), row(), col() anymore. * instead use .innerVector() to get a col or row vector of a matrix. * .segment(), start(), end() will be back soon, not sure for block() * faster cwise product Gael Guennebaud 2009-01-14 14:24:10 +00:00
  • ee87f5ee49 s/EIGEN_WORK_DIRECTORY/EIGEN_WORK_DIR in testsuite script Gael Guennebaud 2009-01-14 10:43:36 +00:00
  • a5632fe1db add EIGEN_FUNCTORS_PLUGIN Benoit Jacob 2009-01-13 16:27:26 +00:00
  • e8e1084267 add EIGEN_CWISE_PLUGIN support for extending class Cwise Benoit Jacob 2009-01-13 15:31:06 +00:00
  • ec0b2f900c fix a couple of doxygen issues Gael Guennebaud 2009-01-13 08:30:17 +00:00
  • b179f8e1a4 add NetBSD to the list of OSes on which malloc is guaranteed to be 16 byte aligned, after discussion with Mark Davies. Benoit Jacob 2009-01-12 22:39:26 +00:00
  • 62d01d3cf4 hm it seems cmake does not understand CYGWIN (=> UNIX) Gael Guennebaud 2009-01-12 19:39:50 +00:00
  • 534dc60672 improved a bit the testsuite script Gael Guennebaud 2009-01-12 18:10:41 +00:00
  • 38d916d50f just a stub for the householder stuff we did with keir yesterday... Benoit Jacob 2009-01-12 16:56:11 +00:00
  • 24fd14dab6 * minor dox tweaks * pretext to bump to beta6 2.0-beta6 Benoit Jacob 2009-01-12 16:14:13 +00:00
  • 4d44ca226e * make std::vector specializations also for Transform and for Quaternion * update test_stdvector * Quaternion() does nothing (instead of bug) * update test_geometry * some renaming Benoit Jacob 2009-01-12 16:06:04 +00:00
  • b26e12abcf make ei_traist<Select> honors nested types Gael Guennebaud 2009-01-12 15:55:56 +00:00
  • a7554023a4 bugfix in ei_unaligned_type copy ctor Gael Guennebaud 2009-01-12 15:51:49 +00:00
  • 9d97c06d9d fix a warning in test/alignedbox Gael Guennebaud 2009-01-12 15:29:51 +00:00
  • 1fc17c4792 remove stupid output in test/meta Gael Guennebaud 2009-01-12 15:27:25 +00:00
  • 6efaece8ce disable/enable msvc headers are allowed to be included multiple times Gael Guennebaud 2009-01-12 14:46:11 +00:00
  • 294f5f16dd muuuch improved documentation for the unaligned array assert. also split into several pages for better reusability (more generally useful than just for this assert) Benoit Jacob 2009-01-12 14:41:12 +00:00
  • f86818b5a6 bug fix in ei_stack_free Gael Guennebaud 2009-01-12 14:20:21 +00:00
  • 336ad58213 * move cwise *= and /= to Core (like * and /) * tidy the StdVector module * fix warnings (especially a | instead of ||) in stdvector test Benoit Jacob 2009-01-12 13:41:40 +00:00
  • af5034b3c0 add a clean configuration summary for the unit tests (useful to analyze the dashboards) Gael Guennebaud 2009-01-12 13:40:02 +00:00
  • 7f881e814f another warning fix Gael Guennebaud 2009-01-12 13:01:31 +00:00
  • a4252584ed bugfix in ei_handmade_aligned_free for null pointers Gael Guennebaud 2009-01-12 12:54:32 +00:00
  • b365f443a2 make the testsuite works on windows with nmake Gael Guennebaud 2009-01-12 12:53:41 +00:00
  • 484ed3bbe2 fix a warning in test/sparse.h Gael Guennebaud 2009-01-12 12:52:36 +00:00
  • 92959aa5f3 add the possiblity to disable Fortran (workaround cmake's bug Gael Guennebaud 2009-01-12 12:51:40 +00:00
  • 2db5888253 update testsuite script Gael Guennebaud 2009-01-12 11:55:52 +00:00
  • f268e79709 simplify some ei_traits<> using inheritance (less loc and slight compilation speed up) Gael Guennebaud 2009-01-11 22:03:40 +00:00
  • 9e8f437a6f extend stdvector test with more push_back... Gael Guennebaud 2009-01-11 21:59:04 +00:00
  • 824b75f182 forgot to commit updated test Benoit Jacob 2009-01-11 21:04:23 +00:00
  • a30b498ab4 add cwise operator *= and /=. Keir says hi!! Benoit Jacob 2009-01-11 20:48:56 +00:00
  • 28e15574df updating FindEigen2.cmake for proper search order James Richard Tyrer 2009-01-11 16:18:59 +00:00
  • 6c84b03d77 add missing newline at EOF Armin Berres 2009-01-11 13:32:55 +00:00
  • 4361cb8913 EIGEN_NO_MALLOC must also block traditional unaligned malloc Benoit Jacob 2009-01-10 14:24:55 +00:00
  • 50ad8b9010 fix potential compilation issue on MSVC + no vectorization Benoit Jacob 2009-01-10 14:10:40 +00:00
  • 0c1ef2f4c6 make the std::vector fix work also with dynamic size Eigen objects, e.g. std::vector<VectorXd> update unit test Benoit Jacob 2009-01-10 13:10:23 +00:00
  • 3efe6e4176 remove ei_new_allocator remove corresponding part of test_dynalloc Benoit Jacob 2009-01-10 02:50:09 +00:00
  • 335d3bcf05 Based on code + help from Alex Stapleton: *Add Eigen/StdVector header. Including it #includes<vector> and "Core" and generates a partial specialization of std::vector<T> for T=Eigen::Matrix<...> that will work even with vectorizable fixed-size Eigen types (working around a design issue in the c++ STL) *Add unit-test Benoit Jacob 2009-01-09 23:26:45 +00:00
  • 5052d3659b oops, fix compilation (sorry for all that noise!) Benoit Jacob 2009-01-09 21:43:46 +00:00
  • 5bef59e371 (previous commit was bad) Benoit Jacob 2009-01-09 21:32:44 +00:00
  • 265ab86005 overloaded operator delete should call ei_conditinal_aligned_free, not ei_aligned_free Benoit Jacob 2009-01-09 21:28:53 +00:00
  • b3d580dec7 ei_aligned_delete was running through the various paths in the wrong order Benoit Jacob 2009-01-09 20:57:06 +00:00
  • fd831d5a12 * implement handmade aligned malloc, fast but always wastes 16 bytes of memory. only used as fallback for now, needs benchmarking. also notice that some malloc() impls do waste memory to keep track of alignment and other stuff (check msdn's page on malloc). * expand test_dynalloc to cover low level aligned alloc funcs. Remove the old #ifdef EIGEN_VECTORIZE... * rewrite the logic choosing an aligned alloc, some new stuff: * malloc() already aligned on freebsd and windows x64 (plus apple already) * _mm_malloc() used only if EIGEN_VECTORIZE * posix_memalign: correct detection according to man page (not necessarily linux specific), don't attempt to declare it if the platform didn't declare it (there had to be a reason why it didn't declare it, right?) Benoit Jacob 2009-01-09 14:56:44 +00:00
  • f52a9e5315 * Added aligned_allocator for using 16-byte aligned types with STL containers. There is still a compile-time problem with STL containers that have a standard-conformant resize() method, but this should resolve the original user issue which was storing aligned objects in a std::map. Kenneth Frank Riddile 2009-01-09 00:55:53 +00:00
  • 003d0ce03e add missing inline keywords (compilation error) spotted by timvdm Benoit Jacob 2009-01-08 20:20:11 +00:00
  • 208b273106 change the day switch time to 5:00 UTC Gael Guennebaud 2009-01-08 18:45:26 +00:00
  • b315f4c359 add a ctest testsuite.cmake script to simplify the generation of nightly builds Gael Guennebaud 2009-01-08 18:38:58 +00:00
  • 51aa62a5d4 add EIGEN_WORK_AROUND_QT_BUG_CALLING_WRONG_OPERATOR_NEW_FIXED_IN_QT_4_5 an ugly hack that allows people to do QVector<Vector4f> with Qt <= 4.4 the Qt bug this is working around is fixed by Gael in Qt 4.5 Benoit Jacob 2009-01-08 16:03:24 +00:00
  • eb7dcbbfce EIGEN_MAKE_ALIGNED_OPERATOR_NEW didn't actually need to get the class name as parameter Benoit Jacob 2009-01-08 15:37:13 +00:00
  • 1d52bd4cad the big memory changes. the most important changes are: 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 Benoit Jacob 2009-01-08 15:20:21 +00:00
  • e2d2a7d222 fix a bug -- bad read found by valgrind Benoit Jacob 2009-01-08 14:23:30 +00:00
  • af27fb7590 Add cdash.org support: * the dashboard is there: http://my.cdash.org/index.php?project=Eigen * now you can run the tests from the top build dir and submit report like that (from the top build dir): ctest -D Experimental * todo: - add some nighlty builds (I'll add a few on my computer) - add valgrind memory checks, performances tests, compilation time tests, etc. Gael Guennebaud 2009-01-08 11:53:21 +00:00
  • 8d3469ca44 add BLAS dependency in FindSuperLU.cmake Gael Guennebaud 2009-01-08 11:27:02 +00:00
  • 4432cf8ca3 bugfix in sum Gael Guennebaud 2009-01-08 10:36:54 +00:00
  • cb71dc4bbf Add a vectorization_logic unit test for assign and sum. Need to add dot and more tests, but it seems I've already found some room for improvement in sum. Gael Guennebaud 2009-01-07 22:20:03 +00:00
  • 709e903335 Sparse module: * 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 ? Gael Guennebaud 2009-01-07 17:01:57 +00:00
  • 7078cfaeaa * re-enabled deprecation warning on msvc now that eigen isn't using functions microsoft deems deprecated Kenneth Frank Riddile 2009-01-07 16:59:43 +00:00
  • 336f0a8486 fine tuning in dot() and sum(), and prepare for the sparse versions... Gael Guennebaud 2009-01-07 16:58:17 +00:00
  • 6b9d647fc2 add custom implementation of hypot Gael Guennebaud 2009-01-07 16:53:09 +00:00
  • 3e90940189 * disabled deprecation warning under msvc that was being triggered due to microsoft deprecating portable functions in favor of non-portable ones ( ex: hypot() deprecated in favor of _hypot() ) Kenneth Frank Riddile 2009-01-07 16:50:35 +00:00
  • 8cea5f6b31 remove non standard hypotf function call Gael Guennebaud 2009-01-07 16:24:27 +00:00
  • 94efa16187 more Scalar conversions fixes Gael Guennebaud 2009-01-07 10:22:46 +00:00
  • ac9d805c2f two scalar conversion fixes Gael Guennebaud 2009-01-07 09:47:16 +00:00
  • 2db434265b remove the Matrix_ prefix Benoit Jacob 2009-01-06 18:07:16 +00:00
  • 8e888a45d0 call methods from the eigen namespace with prepended Eigen:: in define Armin Berres 2009-01-06 11:20:36 +00:00
  • 6736e52d25 * suppressed some minor warnings Kenneth Frank Riddile 2009-01-06 04:38:00 +00:00
  • 1c29d70312 * introduce macros to replace inheritance for operator new overloading (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 Benoit Jacob 2009-01-06 03:16:50 +00:00
  • e71de20f16 ...so the placement new is really trivial:) Benoit Jacob 2009-01-05 20:06:52 +00:00
  • 1eec8488a2 oops, placement new should take a void* 2.0-beta5 Benoit Jacob 2009-01-05 19:56:32 +00:00
  • 9dcde48980 we also had to overload the placement new... issue uncovered by Tim when doing QVector<Vector3d>... Benoit Jacob 2009-01-05 19:49:07 +00:00
  • 215ce5bdc1 forgot to install the LeastSquares header Benoit Jacob 2009-01-05 19:12:35 +00:00