aboutsummaryrefslogtreecommitdiffhomepage
path: root/test/dynalloc.cpp
Commit message (Collapse)AuthorAge
* bug #1409: make EIGEN_MAKE_ALIGNED_OPERATOR_NEW* macros empty in c++17 mode:Gravatar Gael Guennebaud2019-02-20
| | | | | - this helps clang 5 and 6 to support alignas in STL's containers. - this makes the public API of our (and users) classes cleaner
* Fix 256 bit packet size assumptions in unit tests.Gravatar Gustavo Lima Chaves2018-08-02
| | | | | | | | | | | Like in change 2606abed535744fcaa41b923c71338a06b8ed3fa , we have hit the threshould again. With AVX512 builds we would never have Vector8f packets aligned at 64 bytes (the new value of EIGEN_MAX_ALIGN_BYTES after change 405859f18dac56f324e1d93ca8721d5f7fd22c62 , for AVX512-enabled builds). This makes test/dynalloc.cpp pass for those builds.
* Get rid of EIGEN_TEST_FUNC, unit tests must now be declared with ↵Gravatar Gael Guennebaud2018-07-17
| | | | | | | | | EIGEN_DECLARE_TEST(mytest) { /* code */ }. This provide several advantages: - more flexibility in designing unit tests - unit tests can be glued to speed up compilation - unit tests are compiled with same predefined macros, which is a requirement for zapcc
* Fix numerous pointer-to-integer conversion warnings in unit tests.Gravatar Gael Guennebaud2016-05-26
|
* bug #779: allow non aligned buffers for buffers smaller than the requested ↵Gravatar Gael Guennebaud2016-02-05
| | | | alignment.
* Do not check NeedsToAlign if no static alignmentGravatar Gael Guennebaud2015-11-30
|
* Many files were missing in previous changeset.Gravatar Gael Guennebaud2015-07-29
|
* Memory allocated on the stack is freed at the function exit, so reduce ↵Gravatar Gael Guennebaud2014-08-04
| | | | iteration count to avoid stack overflow
* add missing delete operator overloadsGravatar Gael Guennebaud2014-07-30
|
* Fix 128bit packet size assumptions in unit tests.Gravatar Gael Guennebaud2014-04-18
|
* Check that NeedsToAlign is properly sets before checking alignmentGravatar Gael Guennebaud2013-01-24
|
* Automatic relicensing to MPL2 using Keirs script. Manual fixup follows.Gravatar Benoit Jacob2012-07-13
|
* test the new stack allocation mechanismGravatar Gael Guennebaud2011-03-19
|
* disable testing of aligned members when aligned static allocation is not ↵Gravatar Gael Guennebaud2011-03-15
| | | | enabled (e.g., for gcc 3.4)
* bug #86 : use internal:: namespace instead of ei_ prefixGravatar Benoit Jacob2010-10-25
|
* email changeGravatar Gael Guennebaud2010-06-24
|
* big huge changes, so i dont remember everything.Gravatar Benoit Jacob2009-10-28
| | | | | | | | | | * renaming, e.g. LU ---> FullPivLU * split tests framework: more robust, e.g. dont generate empty tests if a number is skipped * make all remaining tests use that splitting, as needed. * Fix 4x4 inversion (see stable branch) * Transform::inverse() and geo_transform test : adapt to new inverse() API, it was also trying to instantiate inverse() for 3x4 matrices. * CMakeLists: more robust regexp to parse the version number * misc fixes in unit tests
* remove sentence "Eigen itself is part of the KDE project."Gravatar Benoit Jacob2009-05-22
| | | | it never made very precise sense. but now does it still make any?
* let the user disable alignment altogether by #defining EIGEN_DONT_ALIGN.Gravatar Benoit Jacob2009-05-03
| | | | | | | Until now, the user had to edit the source code to do that. Internally, add EIGEN_ALIGN that takes into account both EIGEN_DONT_ALIGN.and EIGEN_ARCH_WANTS_ALIGNMENT. From now on, only EIGEN_ALIGN should be used to test whether we want to align.
* disable alignment altogether outside of the platforms which potentially have ↵Gravatar Benoit Jacob2009-02-04
| | | | | | | SSE or AltiVec This should remove most portability issues to other platforms where data alignment issues (including overloading operator new and new[]) can be tricky, and where data alignment is not needed in the first place.
* remove ei_new_allocatorGravatar Benoit Jacob2009-01-10
| | | | remove corresponding part of test_dynalloc
* * implement handmade aligned malloc, fast but always wastes 16 bytes of memory.Gravatar Benoit Jacob2009-01-09
| | | | | | | | | | | | | | 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?)
* 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
* compilation fixes with MSVCGravatar Gael Guennebaud2008-09-03
|
* Solve a big issue with data alignment and dynamic allocation:Gravatar Gael Guennebaud2008-09-03
* add a WithAlignedOperatorNew class with overloaded operator new * make Matrix (and Quaternion, Transform, Hyperplane, etc.) use it if needed such that "*(new Vector4) = xpr" does not failed anymore. * Please: make sure your classes having fixed size Eigen's vector or matrice attributes inherit WithAlignedOperatorNew * add a ei_new_allocator STL memory allocator to use with STL containers. This allocator really calls operator new on your types (unlike GCC's new_allocator). Example: std::vector<Vector4f> data(10); will segfault if the vectorization is enabled, instead use: std::vector<Vector4f,ei_new_allocator<Vector4f> > data(10); NOTE: you only have to worry if you deal with fixed-size matrix types with "sizeof(matrix_type)%16==0"...