Benoit Jacob
81cb887baf
fix bug in the computation of rank
...
very difficult to catch in unit-tests because this is very noisy
2009-01-20 16:21:56 +00:00
Gael Guennebaud
3e5b3a33fa
quick bugfix in QR::isFullRank() (not 100% sure about the reference value
...
for the comparison to 0)
2009-01-20 10:37:39 +00:00
Marijn Kruisselbrink
8690ba923c
I assume these files where supposed to be installed
2009-01-19 22:58:15 +00:00
Gael Guennebaud
36c478cd6e
optimize A * v product for A sparse and row major
2009-01-19 22:29:28 +00:00
Gael Guennebaud
178858f1bd
add a flexible sparse matrix class designed for fast matrix assembly
2009-01-19 15:20:45 +00:00
Benoit Jacob
385fd3d918
* clarify the situation with experimental parts
...
* remove all what was marked deprecated
2009-01-19 15:02:24 +00:00
Benoit Jacob
dcaa58744e
#error if min or max is defined
2009-01-19 13:23:41 +00:00
Gael Guennebaud
708fa36750
revert bad commit
2009-01-19 08:21:32 +00:00
Gael Guennebaud
d58bb54e7f
add a smart realloc algorithm when filling a sparse matrix
2009-01-18 18:00:19 +00:00
Gael Guennebaud
0c7974dd4d
bugfix in Map by Keir Mierle
2009-01-18 09:53:06 +00:00
Benoit Jacob
61b85b1436
update documentation (thanks Kenneth)
2009-01-17 14:24:09 +00:00
Gael Guennebaud
c5020c6e8e
patch from Ricard Marxer: add doc example for select()
2009-01-17 09:59:32 +00:00
Gael Guennebaud
1eec38dc36
Rewrite the vectorized meta unroller of sum to reduce instruction
...
dependency => significant speed up
2009-01-17 09:48:58 +00:00
Benoit Jacob
e556e647f4
typo found by Ben Axelrod
...
CCMAIL:baxelrod@coroware.com
2009-01-17 00:53:38 +00:00
Gael Guennebaud
48df9ed715
Add a data() function in Map and Block
2009-01-16 10:25:53 +00:00
Gael Guennebaud
ccdcebcf03
Sparse module: add support for sparse selfadjoint * dense
2009-01-15 18:52:14 +00:00
Gael Guennebaud
9a4b7998cf
Sparse module: add row/col methods to the iterators
2009-01-15 14:16:41 +00:00
Gael Guennebaud
87241089e1
Sparse module: bugfix in SparseMatrix::resize(), now the indices are
...
correctly initialized to 0.
2009-01-15 13:30:50 +00:00
Gael Guennebaud
96e1e582ff
Sparse module:
...
* add a MappedSparseMatrix class (like Eigen::Map but for sparse
matrices)
* rename SparseArray to CompressedStorage
2009-01-15 12:52:59 +00:00
Gael Guennebaud
4f33fbfc07
two compilation fixes
2009-01-15 08:26:40 +00:00
Gael Guennebaud
2d53466fa9
Sparse module:
...
* improved performance of mat*=scalar
* bug fix in cwise*
2009-01-14 21:27:54 +00:00
Gael Guennebaud
0b606dcccd
Add support for sparse * dense and dense * sparse matrix/vector products
2009-01-14 17:41:55 +00:00
Gael Guennebaud
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
2009-01-14 14:24:10 +00:00
Benoit Jacob
a5632fe1db
add EIGEN_FUNCTORS_PLUGIN
2009-01-13 16:27:26 +00:00
Benoit Jacob
e8e1084267
add EIGEN_CWISE_PLUGIN support for extending class Cwise
2009-01-13 15:31:06 +00:00
Gael Guennebaud
ec0b2f900c
fix a couple of doxygen issues
2009-01-13 08:30:17 +00:00
Benoit Jacob
b179f8e1a4
add NetBSD to the list of OSes on which malloc is guaranteed to be 16
...
byte aligned, after discussion with Mark Davies.
CCMAIL: mark@ecs.vuw.ac.nz
2009-01-12 22:39:26 +00:00
Benoit Jacob
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
2009-01-12 16:06:04 +00:00
Gael Guennebaud
b26e12abcf
make ei_traist<Select> honors nested types
2009-01-12 15:55:56 +00:00
Gael Guennebaud
a7554023a4
bugfix in ei_unaligned_type copy ctor
2009-01-12 15:51:49 +00:00
Gael Guennebaud
6efaece8ce
disable/enable msvc headers are allowed to be included multiple times
2009-01-12 14:46:11 +00:00
Gael Guennebaud
f86818b5a6
bug fix in ei_stack_free
2009-01-12 14:20:21 +00:00
Benoit Jacob
336ad58213
* move cwise *= and /= to Core (like * and /)
...
* tidy the StdVector module
* fix warnings (especially a | instead of ||) in stdvector test
2009-01-12 13:41:40 +00:00
Gael Guennebaud
a4252584ed
bugfix in ei_handmade_aligned_free for null pointers
2009-01-12 12:54:32 +00:00
Gael Guennebaud
f268e79709
simplify some ei_traits<> using inheritance
...
(less loc and slight compilation speed up)
2009-01-11 22:03:40 +00:00
Benoit Jacob
a30b498ab4
add cwise operator *= and /=.
...
Keir says hi!!
2009-01-11 20:48:56 +00:00
Armin Berres
6c84b03d77
add missing newline at EOF
2009-01-11 13:32:55 +00:00
Benoit Jacob
4361cb8913
EIGEN_NO_MALLOC must also block traditional unaligned malloc
2009-01-10 14:24:55 +00:00
Benoit Jacob
50ad8b9010
fix potential compilation issue on MSVC + no vectorization
2009-01-10 14:10:40 +00:00
Benoit Jacob
0c1ef2f4c6
make the std::vector fix work also with dynamic size Eigen objects, e.g.
...
std::vector<VectorXd>
update unit test
2009-01-10 13:10:23 +00:00
Benoit Jacob
3efe6e4176
remove ei_new_allocator
...
remove corresponding part of test_dynalloc
2009-01-10 02:50:09 +00:00
Benoit Jacob
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
CCMAIL: alex.stapleton@gmail.com
2009-01-09 23:26:45 +00:00
Benoit Jacob
5052d3659b
oops, fix compilation (sorry for all that noise!)
2009-01-09 21:43:46 +00:00
Benoit Jacob
5bef59e371
(previous commit was bad)
2009-01-09 21:32:44 +00:00
Benoit Jacob
265ab86005
overloaded operator delete should call ei_conditinal_aligned_free, not
...
ei_aligned_free
2009-01-09 21:28:53 +00:00
Benoit Jacob
b3d580dec7
ei_aligned_delete was running through the various paths in the wrong
...
order
2009-01-09 20:57:06 +00:00
Benoit Jacob
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?)
2009-01-09 14:56:44 +00:00
Kenneth Frank Riddile
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.
2009-01-09 00:55:53 +00:00
Benoit Jacob
003d0ce03e
add missing inline keywords (compilation error) spotted by timvdm
2009-01-08 20:20:11 +00:00
Gael Guennebaud
b315f4c359
add a ctest testsuite.cmake script to simplify the generation of nightly builds
2009-01-08 18:38:58 +00:00