Benoit Steiner
f669f5656a
Marked a few functions as EIGEN_DEVICE_FUNC to enable the use of tensors in cuda kernels.
2015-02-10 14:29:47 -08:00
Gael Guennebaud
f5f6e2c6f4
bug #921 : fix utilization of bitwise operation on enums in first_aligned
2014-12-19 14:41:59 +01:00
Gael Guennebaud
ee06f78679
Introduce unified macros to identify compiler, OS, and architecture. They are all defined in util/Macros.h and prefixed with EIGEN_COMP_, EIGEN_OS_, and EIGEN_ARCH_ respectively.
2014-11-04 21:58:52 +01:00
Gael Guennebaud
8472e697ca
Add lapack interface to JacobiSVD and BDCSVD
2014-10-17 15:31:11 +02:00
Gael Guennebaud
48d537f59f
Fix indentation
2014-10-09 23:35:26 +02:00
Gael Guennebaud
a48b82eece
Add a scoped_array helper class to handle locally allocated/used arrays
2014-10-09 23:34:05 +02:00
Christoph Hertzberg
4ba8aa1482
Fix bug #884 : No malloc for zero-sized matrices or for Ref without temporaries
2014-09-25 16:05:17 +02:00
Gael Guennebaud
2e50289ba3
bug #861 : enable posix_memalign with PGI
2014-08-26 12:54:19 +02:00
Gael Guennebaud
ba694ce8cf
add missing delete operator overloads
2014-07-30 09:32:35 +02:00
Christoph Hertzberg
a8283e0ed2
Define EIGEN_TRY, EIGEN_CATCH, EIGEN_THROW as suggested by Moritz Klammer.
...
Make it possible to run unit-tests with exceptions disabled via EIGEN_TEST_NO_EXCEPTIONS flag.
Enhanced ctorleak unit-test
2014-07-22 13:16:44 +02:00
Moritz Klammler
529e6cb552
Applied changes suggested by Christoph Hertzberg to c'tor leak fix.
...
- Enclose exception handling in '#ifdef EIGEN_EXCEPTIONS'.
- Use an object counter to demonstrate the bug more readily.
2014-07-18 23:19:56 +02:00
Moritz Klammler
58687aa5e6
Avoid memory leak when constructor of user-defined type throws exception.
...
The added check `ctorleak.cpp` demonstrates how the leak can be reproduced.
The test appears to pass but it is leaking the storage of the (not created)
matrix. I don't know how to make this test fail in the existing test suite but
you can run it through Valgrind (or another debugger) to verify the leak.
$ ./check.sh ctorleak && valgrind --leak-check=full ./test/ctorleak
This patch fixes this leak by adding some try-catch-delete-rethrow blocks to
`Eigen/src/Core/util/Memory.h`.
2014-07-06 06:58:13 +02:00
Christoph Hertzberg
e25e674852
bug #837 : Always re-align the result of EIGEN_ALLOCA.
2014-07-08 13:57:26 +02:00
Christoph Hertzberg
1c3843bf86
Fix bug #729 : Use alloca if it is defined
2014-06-23 11:04:12 +02:00
Gael Guennebaud
07986189b7
Fix bug #803 : avoid char* to int* conversion
2014-05-01 23:03:54 +02:00
Gael Guennebaud
934ce93886
merge with default branch
2014-04-22 17:00:38 +02:00
Gael Guennebaud
de8336a9bc
Enable alloca on MAC OSX
2014-04-16 23:14:58 +02:00
Benoit Steiner
1b333c89c9
Updated my previous fix to avoid introducing a compilation warning on ARM platforms.
2014-04-10 17:43:13 -07:00
Benoit Steiner
a1fcf599fa
Silenced a compilation warning produced by nvcc.
2014-04-10 11:19:37 -07:00
Benoit Steiner
cc73164aa8
Merged latest updates from the parent branch
2014-03-26 15:23:59 -07:00
Benoit Steiner
8a0845ebd7
Merged latest changes from the parent
2014-03-18 12:58:08 -07:00
Benoit Steiner
cbd7e98174
Merged the latest version of the code from eigen/eigen
2014-02-18 18:51:24 -08:00
Benoit Steiner
7ed9441ea4
Reverted the definition of the EIGEN_ALIGN to its former meaning (i.e. a boolean)
...
Created a new EIGEN_ALIGN_BYTES define to encode how the data should be aligned
Fixed a few remaining alignment issues exposed when the Eigen code is compiled with avx enabled.
Created a new EIGEN_ALIGN_DEFAULT define, which is set to the minimum alignment value required for the chosen instruction set. Use this value instead of EIGEN_ALIGN32 to preserve the existing alignment on SSE/Altivec/Neon.
2014-02-18 18:06:44 -08:00
Gael Guennebaud
0508af4287
Merged in martinhofernandes/eigen (pull request PR-40)
...
Better fix for bug #503
2014-02-14 15:31:39 +01:00
Gael Guennebaud
97965dde9b
alloca is not necessarily alligned on windows
2014-02-14 00:04:38 +01:00
Benoit Steiner
64a85800bd
Added support for AVX to Eigen.
2014-01-29 11:43:05 -08:00
Martinho Fernandes
4ccff2d028
Placement new must use void* to avoid user-specific overloads.
2014-01-10 11:20:40 +01:00
Martinho Fernandes
3a4616d6e3
Add C++11 allocator overloads to avoid implicit conversions.
2014-01-10 11:02:11 +01:00
Gael Guennebaud
2a564695f0
Simpler and hopefully more future-proof fix for bug #503 (aligned_allocator with c++11)
2014-03-19 13:28:50 +01:00
Christoph Hertzberg
d5cc083782
Fixed bug #754 . Only inserted (!defined(_WIN32_WCE)) analog to alloc and free implementation (not tested, but should be correct).
2014-03-05 14:50:00 +01:00
Christoph Hertzberg
04e1e38eed
bug #289 : Removed useless static keywords
2014-03-04 15:10:29 +01:00
Gael Guennebaud
49034d1570
Fix bug #708 : add placement new/delete for array
2013-11-27 09:46:59 +01:00
Gael Guennebaud
87aee5fda1
Allow calling attributes of dynamic size objects from device
2013-11-05 15:40:58 +01:00
Martinho Fernandes
a1f056cf2a
Fix bug #503
...
C++11 support on simple allocators comes for free. `aligned_allocator` does not
need to add any `construct` overloads to work with C++11 compilers.
2013-09-10 17:08:04 +02:00
Pavel Holoborodko
a147500dee
Added smart_memmove with support of non-POD scalars (e.g. needed in SparseBlock.h).
2013-08-25 18:00:28 +09:00
Gael Guennebaud
74beb218d2
Fix bug #554 : include unistd.h before checking the presence of posix_memalign.
2013-06-26 22:49:14 +02:00
Gael Guennebaud
899c0c2b6c
Clean source code and unit tests with respect to -Wunused-local-typedefs
2013-04-10 22:27:35 +02:00
Gael Guennebaud
7e04d7db02
Fix a serious bug in handmade_aligned_realloc: original data have to be moved if the alignment offset differs.
2013-04-10 13:58:20 +02:00
Gael Guennebaud
f29b4c435b
Make cpuid not use %%esi -> dangerous if someone is using it.
2013-03-19 14:11:59 +01:00
Michael Schmidt
0d5a418048
Fix bug #566 : rbx register has to be saved when calling cpuid on x84_64 with -fPIC and medium or large code models.
2013-03-19 14:00:42 +01:00
Gael Guennebaud
b6dc2613ac
Fix bug #552 : disable EIGEN_GLIBC_MALLOC_ALREADY_ALIGNED when compiling with -fsanitize=address, and allow users to manually tell whether EIGEN_MALLOC_ALREADY_ALIGNED.
2013-02-25 19:17:13 +01:00
Gael Guennebaud
25bcbfb10c
Fix bug in aligned_free with windows CE
2013-02-13 19:09:31 +01:00
Gael Guennebaud
aa858cb43a
add first_multiple helper function
2012-10-30 16:27:52 +01:00
Gael Guennebaud
138897cc06
fix bug #521 : __cpuidex is not available on all architectures supported by MSVC
2012-10-24 10:21:41 +02:00
Gael Guennebaud
9b418afff6
Windows CE does not provide an aligned_malloc function.
2012-10-24 10:12:42 +02:00
Benoit Jacob
69124cfca2
Automatic relicensing to MPL2 using Keirs script. Manual fixup follows.
2012-07-13 14:42:47 -04:00
Gael Guennebaud
ce2e2fe336
bug #455 : add support for c++11 in aligned_allocator
2012-05-03 11:55:30 +02:00
Jitse Niesen
3c412183b2
Get rid of include directives inside namespace blocks (bug #339 ).
2012-04-15 11:06:28 +01:00
Gael Guennebaud
99c694623a
fix a dozen of warnings with MSVC, and get rid of some useless throw()
2012-02-06 15:57:51 +01:00
Zuiquan
a64407f086
Enable Eigen to compile on 'pure C/C++' Gcc environment (with no inline assembly or asm directive). Required if we want to use Eigen with Adobe Alchemy.
2012-02-02 12:05:02 +01:00