Commit Graph

3925 Commits

Author SHA1 Message Date
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