Christoph Hertzberg
e5c78d85c8
bug #1043 : Avoid integer conversion sign warning
2015-08-19 21:50:21 +02:00
Christoph Hertzberg
8097d8d028
surpress some warnings
2015-08-17 21:50:52 +02:00
Christoph Hertzberg
d2e0927127
Define EIGEN_MAX_STATIC_ALIGN_BYTES to 0 for architectures that don't require stack alignment
2015-08-17 16:44:52 +02:00
Gael Guennebaud
dc2c103b3b
merge
2015-08-16 14:22:02 +02:00
Christoph Hertzberg
d6a4805fdf
Protect further isnan/isfinite/isinf calls
2015-08-16 14:00:02 +02:00
Christoph Hertzberg
61e0977e10
Protect all calls to isnan, isinf and isfinite with parentheses.
2015-08-14 17:32:34 +02:00
Christoph Hertzberg
712e2fed17
bug #829 : Introduce macro EIGEN_HAS_CXX11_CONTAINERS and do not specialize std-containers if it is enabled.
2015-08-14 16:09:48 +02:00
Gael Guennebaud
23aab82c0c
merge
2015-08-09 21:24:20 +02:00
Christoph Hertzberg
cac6b23033
bug #1053 : SparseLU failed with EIGEN_DEFAULT_TO_ROW_MAJOR
2015-08-07 23:10:56 +02:00
Gael Guennebaud
febcce34f1
Enable vectorization with half-packets
2015-08-07 20:05:31 +02:00
Gael Guennebaud
6245591349
Fix prototype of plset and generalize linspace functor.
2015-08-07 19:27:59 +02:00
Gael Guennebaud
60e4260d0d
Some functors were not generic wrt packet-type.
2015-08-07 17:41:39 +02:00
Gael Guennebaud
e68c7b8368
Include SSE packetmath when AVX is enabled, and enable AVX's sine function only in fast-math mode (as SSE)
2015-08-07 17:40:39 +02:00
Gael Guennebaud
65bfa5fce7
Allow to use arbitrary packet-types during evaluation.
...
This is implemented by adding a PacketType template parameter to packet and writePacket members of evaluator<>.
2015-08-07 12:01:39 +02:00
Gael Guennebaud
3602926ed5
Mark ALignedBit as deprecated.
2015-08-07 10:45:02 +02:00
Gael Guennebaud
ce57dbd937
Let unpacket_traits<> exposes the required alignment and make use of it everywhere
2015-08-07 10:44:01 +02:00
Gael Guennebaud
2afdef6a54
Generalize first_aligned to take the requested alignment as a template parameter, and add a first_default_aligned variante calling first_aligned with the requirement of the largest packet for the given scalar type.
2015-08-06 17:52:01 +02:00
Gael Guennebaud
1f5024332e
First part of a big refactoring of alignment control to enable the handling of arbitrarily aligned buffers. It includes:
...
- AlignedBit flag is deprecated. Alignment is now specified by the evaluator through the 'Alignment' enum, e.g., evaluator<Xpr>::Alignment. Its value is in Bytes.
- Add several enums to specify alignment: Aligned8, Aligned16, Aligned32, Aligned64, Aligned128. AlignedMax corresponds to EIGEN_MAX_ALIGN_BYTES. Such enums are used to define the above Alignment value, and as the 'Options' template parameter of Map<> and Ref<>.
- The Aligned enum is now deprecated. It is now an alias for Aligned16.
- Currently, traits<Matrix<>>, traits<Array<>>, traits<Ref<>>, traits<Map<>>, and traits<Block<>> also expose the Alignment enum.
2015-08-06 15:31:07 +02:00
Gael Guennebaud
65186ef18d
Fix logic in compute_default_alignment, extend it to Dynamic size, and move it to XprHelper.h file.
2015-08-06 14:07:59 +02:00
Gael Guennebaud
becd89df29
Enable runtime stack alignment in gemm_blocking_space.
2015-08-06 14:00:26 +02:00
Gael Guennebaud
d4f5efc51a
Add a EIGEN_DEFAULT_ALIGN_BYTES macro defining default alignment for alloca and aligned_malloc.
...
It is defined as the max of EIGEN_IDEAL_MAX_ALIGN_BYTES and EIGEN_MAX_ALIGN_BYTES
2015-08-06 13:56:53 +02:00
Gael Guennebaud
506964fc29
Propagate precondition info to the iterative solver.
2015-08-04 16:13:34 +02:00
Gael Guennebaud
f7d5b9323d
typo
2015-07-29 11:08:49 +02:00
Gael Guennebaud
175ed636ea
bug #973 : update macro-level control of alignement by introducing user-controllable EIGEN_MAX_ALIGN_BYTES and EIGEN_MAX_STATIC_ALIGN_BYTES macros. This changeset also removes EIGEN_ALIGN (replaced by EIGEN_MAX_ALIGN_BYTES>0), EIGEN_ALIGN_STATICALLY (replaced by EIGEN_MAX_STATIC_ALIGN_BYTES>0), EIGEN_USER_ALIGN*, EIGEN_ALIGN_DEFAULT (replaced by EIGEN_ALIGN_MAX).
2015-07-29 10:22:25 +02:00
Gael Guennebaud
76874b128e
bug #1047 : document the structure layout of class Matrix
2015-07-29 10:21:28 +02:00
Gael Guennebaud
41e1f3498c
bug #1048 : fix unused variable warning
2015-07-28 22:59:50 +02:00
Christoph Hertzberg
a44d022caf
bug #792 : SparseLU::factorize failed for structurally rank deficient matrices
2015-07-26 20:30:30 +02:00
Gael Guennebaud
3b0ad02c10
Remove wrongly pushed debugging statements
2015-07-22 14:33:57 +02:00
Jonas Adler
815fa0dbf6
Fixed some compiler bugs in NVCC, now compiles with CUDA.
...
(chtz: Manually joined sevaral commits to keep the history clean)
2015-07-22 12:29:18 +02:00
Benoit Steiner
d259b719d1
Made sure that the use const expressions are not enabled when compiling with nvcc even when gcc 4.9 is used as the host compiler.
2015-07-21 17:35:58 -07:00
Gael Guennebaud
586d10f7e0
Fix compilation of tri(sparse) * dense with OpenMP
2015-07-21 22:52:21 +02:00
Gael Guennebaud
6544b49e59
Generalize pow(x,e) such that x and e can be a different expression type or a scalar for either x or e. Add x.pow(e) with e an array expression.
2015-07-20 13:57:55 +02:00
Gael Guennebaud
c11971de37
Fix compilation of isnan(complex)
2015-07-20 12:56:01 +02:00
Gael Guennebaud
88e352adac
Add support for replicate in CUDA
2015-07-20 10:53:03 +02:00
Benoit Steiner
513e357b48
Added support for prefetching on cuda devices
2015-07-17 15:35:16 -07:00
Benoit Steiner
06a22ca5bd
Added support for sigmoid function to the tensor module
2015-07-17 09:29:00 -07:00
Benoit Steiner
979b73cebf
Fixed a typo in Macro.h
2015-07-16 14:17:50 -07:00
Gael Guennebaud
f5aa640862
Clean some previous changes and more cuda fixes
2015-07-15 10:57:55 +02:00
Nicolas Mellado
7cecd39a84
Merged eigen/eigen into default
2015-07-15 10:15:54 +02:00
Nicolas Mellado
592ee2a4b4
Add missing EIGEN_DEVICE_FUNC
2015-07-15 10:14:52 +02:00
Christoph Hertzberg
ea87561564
bug #1039 : Redefining EIGEN_DEFAULT_DENSE_INDEX_TYPE may lead to errors
2015-07-13 16:08:25 +02:00
Nicolas Mellado
dbb3e2cf8a
Cleaning
2015-07-11 18:15:31 +00:00
Nicolas Mellado
0d09845562
Revert files to remove EIGEN_USING_NUMEXT_MATH
2015-07-11 20:11:36 +02:00
Nicolas Mellado
20b96025fd
Replace double constants by Scalar constants
2015-07-11 20:02:30 +02:00
Nicolas Mellado
1dd6a329e8
Cuda compatibility: remove explicit call to std math functions
2015-07-11 19:40:15 +02:00
Nicolas Mellado
bc40eb745d
Merged eigen/eigen into default
2015-07-11 19:33:43 +02:00
Benoit Steiner
6de6fa9483
Use NumTraits<T>::RequireInitialization instead of internal::is_arithmetic<T>::value to check whether it's possible to bypass the type constructor in the tensor code.
2015-07-07 15:23:56 -07:00
Benoit Steiner
7b7df7b6b8
Updated internal::is_arithmetic::value to be true for complex numbers
2015-07-07 12:57:35 -07:00
Gael Guennebaud
7fa6fe8d8c
typo
2015-07-07 17:47:24 +02:00
Gael Guennebaud
fa17358c4b
Rotation2D: fix slerp to take the shortest path, and add convenient method to get the angle in [-pi,pi] or [0,pi]
2015-07-07 17:27:12 +02:00