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
Gael Guennebaud
ee87f5ee49
s/EIGEN_WORK_DIRECTORY/EIGEN_WORK_DIR in testsuite script
2009-01-14 10:43:36 +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
Gael Guennebaud
62d01d3cf4
hm it seems cmake does not understand CYGWIN (=> UNIX)
2009-01-12 19:39:50 +00:00
Gael Guennebaud
534dc60672
improved a bit the testsuite script
2009-01-12 18:10:41 +00:00
Benoit Jacob
38d916d50f
just a stub for the householder stuff we did with keir yesterday...
2009-01-12 16:56:11 +00:00
Benoit Jacob
24fd14dab6
* minor dox tweaks
...
* pretext to bump to beta6
2009-01-12 16:14:13 +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
9d97c06d9d
fix a warning in test/alignedbox
2009-01-12 15:29:51 +00:00
Gael Guennebaud
1fc17c4792
remove stupid output in test/meta
2009-01-12 15:27:25 +00:00
Gael Guennebaud
6efaece8ce
disable/enable msvc headers are allowed to be included multiple times
2009-01-12 14:46:11 +00:00
Benoit Jacob
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)
2009-01-12 14:41:12 +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
af5034b3c0
add a clean configuration summary for the unit tests (useful to analyze the dashboards)
2009-01-12 13:40:02 +00:00
Gael Guennebaud
7f881e814f
another warning fix
2009-01-12 13:01:31 +00:00
Gael Guennebaud
a4252584ed
bugfix in ei_handmade_aligned_free for null pointers
2009-01-12 12:54:32 +00:00
Gael Guennebaud
b365f443a2
make the testsuite works on windows with nmake
2009-01-12 12:53:41 +00:00
Gael Guennebaud
484ed3bbe2
fix a warning in test/sparse.h
2009-01-12 12:52:36 +00:00
Gael Guennebaud
92959aa5f3
add the possiblity to disable Fortran (workaround cmake's bug
2009-01-12 12:51:40 +00:00
Gael Guennebaud
2db5888253
update testsuite script
2009-01-12 11:55:52 +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
Gael Guennebaud
9e8f437a6f
extend stdvector test with more push_back...
2009-01-11 21:59:04 +00:00
Benoit Jacob
824b75f182
forgot to commit updated test
2009-01-11 21:04:23 +00:00
Benoit Jacob
a30b498ab4
add cwise operator *= and /=.
...
Keir says hi!!
2009-01-11 20:48:56 +00:00
James Richard Tyrer
28e15574df
updating FindEigen2.cmake for proper search order
2009-01-11 16:18:59 +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
208b273106
change the day switch time to 5:00 UTC
2009-01-08 18:45:26 +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
Benoit Jacob
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
2009-01-08 16:03:24 +00:00
Benoit Jacob
eb7dcbbfce
EIGEN_MAKE_ALIGNED_OPERATOR_NEW didn't actually need to get the class
...
name as parameter
2009-01-08 15:37:13 +00:00
Benoit Jacob
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
2009-01-08 15:20:21 +00:00