Commit message (Collapse) | Author | Age | |
---|---|---|---|
* | Remove debuging code. | 2016-05-26 | |
| | |||
* | Introduce internal's UIntPtr and IntPtr types for pointer to integer ↵ | 2016-05-26 | |
| | | | | | | | | conversions. This fixes "conversion from pointer to same-sized integral type" warnings by ICC. Ideally, we would use the std::[u]intptr_t types all the time, but since they are C99/C++11 only, let's be safe. | ||
* | bug #256: enable vectorization with unaligned loads/stores. | 2016-05-24 | |
| | | | | | This concerns all architectures and all sizes. This new behavior can be disabled by defining EIGEN_UNALIGNED_VECTORIZE=0 | ||
* | Clean propagation of Dest/Src alignments. | 2016-05-24 | |
| | |||
* | bug #1207: Add and fix logical-op warnings | 2016-05-11 | |
| | |||
* | Fix performance regression: with AVX, unaligned stores were emitted instead ↵ | 2016-05-01 | |
| | | | | of aligned ones for fixed size assignement. | ||
* | Improve half-packet vectorization logic to distinguish linear versus inner ↵ | 2016-04-13 | |
| | | | | traversal modes. | ||
* | Fix static/inline keywords order. | 2016-04-11 | |
| | |||
* | Removed executable bit from header files | 2016-03-23 | |
| | |||
* | Improve inlining | 2016-02-08 | |
| | |||
* | bug #667: declare several critical functions as FORECE_INLINE to make ICC ↵ | 2016-01-31 | |
| | | | | | | | happier. <g.gael@free.fr> HG: branch 'default' HG: changed Eigen/src/Core/ArrayBase.h HG: changed Eigen/src/Core/AssignEvaluator.h HG: changed Eigen/src/Core/CoreEvaluators.h HG: changed Eigen/src/Core/CwiseUnaryOp.h HG: changed Eigen/src/Core/DenseBase.h HG: changed Eigen/src/Core/MatrixBase.h | ||
* | bug #1144: fix regression in x=y+A*x (aliasing), and move ↵ | 2016-01-09 | |
| | | | | evaluator_traits::AssumeAliasing to evaluator_assume_aliasing. | ||
* | Remove useless "explicit", and fix inline/static order. | 2015-12-11 | |
| | |||
* | Simplify cost computations based on HugeCost being smaller that unrolling limit | 2015-10-28 | |
| | |||
* | Refactoring of the cost model: | 2015-10-28 | |
| | | | | | | | | | | | - Dynamic is now an invalid value - introduce a HugeCost constant to be used for runtime-cost values or arbitrarily huge cost - add sanity checks for cost values: must be >=0 and not too large This change provides several benefits: - it fixes shortcoming is some cost computation where the Dynamic case was not properly handled. - it simplifies cost computation logic, and should avoid future similar shortcomings. - it allows to distinguish between different level of dynamic/huge/infinite cost - it should enable further simplifications in the computation of costs (save compilation time) | ||
* | Fix assign vectorization logic with respect to fixed outer-stride | 2015-10-27 | |
| | |||
* | Improve readibility of EIGEN_DEBUG_ASSIGN mode. | 2015-10-27 | |
| | |||
* | Some cleaning in evaluators | 2015-10-08 | |
| | |||
* | Help clang to inline some functions, thus fixing some regressions | 2015-10-07 | |
| | |||
* | Remove debuging prod() and lazyprod() function, plus some cleaning in ↵ | 2015-10-07 | |
| | | | | noalias assignment | ||
* | Define Permutation*<>::Scalar to 'void', re-enable scalar type compatibility ↵ | 2015-10-06 | |
| | | | | check in assignment while relaxing this test for void types. | ||
* | Some cleaning | 2015-10-06 | |
| | |||
* | Cleaning pass on evaluators: remove the useless and error prone ↵ | 2015-09-02 | |
| | | | | evaluator<>::type indirection. | ||
* | Enable vectorization with half-packets | 2015-08-07 | |
| | |||
* | Allow to use arbitrary packet-types during evaluation. | 2015-08-07 | |
| | | | | This is implemented by adding a PacketType template parameter to packet and writePacket members of evaluator<>. | ||
* | Let unpacket_traits<> exposes the required alignment and make use of it ↵ | 2015-08-07 | |
| | | | | everywhere | ||
* | Generalize first_aligned to take the requested alignment as a template ↵ | 2015-08-06 | |
| | | | | parameter, and add a first_default_aligned variante calling first_aligned with the requirement of the largest packet for the given scalar type. | ||
* | First part of a big refactoring of alignment control to enable the handling ↵ | 2015-08-06 | |
| | | | | | | | | | 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. | ||
* | bug #1039: Redefining EIGEN_DEFAULT_DENSE_INDEX_TYPE may lead to errors | 2015-07-13 | |
| | |||
* | Add a call_assignment_no_alias_no_transpose shortcut | 2015-06-24 | |
| | |||
* | Remove aligned-on-scalar assert and fallback to non vectorized path at ↵ | 2015-06-14 | |
| | | | | runtime (first_aligned already had this runtime guard) | ||
* | bug #877, bug #572: Introduce a global Index typedef. Rename Sparse*::Index ↵ | 2014-12-04 | |
| | | | | to StorageIndex, make Dense*::StorageIndex an alias to DenseIndex. Overall this commit gets rid of all Index conversion warnings. | ||
* | Introduce unified macros to identify compiler, OS, and architecture. They ↵ | 2014-11-04 | |
| | | | | are all defined in util/Macros.h and prefixed with EIGEN_COMP_, EIGEN_OS_, and EIGEN_ARCH_ respectively. | ||
* | Make cuda_basic test compile again by adding lots of EIGEN_DEVICE_FUNC. | 2014-10-13 | |
| | | | | Although the test passes now, there might still be some missing. | ||
* | Using Kernel::Index type instead of int to prevent possible implicit ↵ | 2014-09-21 | |
| | | | | conversion from long to int. | ||
* | Remove deprecated code not used by evaluators | 2014-09-18 | |
| | |||
* | Favor column major storage for inner products | 2014-09-14 | |
| | |||
* | Re-enable aliasing checks when using evaluators | 2014-09-14 | |
| | |||
* | Resizing is done by call_assignment_noalias, so no need to perform it when ↵ | 2014-07-21 | |
| | | | | dealing with aliasing. | ||
* | Make sure we evaluate into temporaries matching evaluator storage order ↵ | 2014-07-19 | |
| | | | | requirements | ||
* | Make operator=(EigenBase<>) uses the new assignment mechanism and introduce ↵ | 2014-06-25 | |
| | | | | a generic EigenBase to EigenBase assignment kind based on the previous evalTo mechanism. | ||
* | Implement binaryop and transpose evaluators for sparse matrices | 2014-06-23 | |
| | |||
* | Extend evaluation traits debuging info | 2014-03-12 | |
| | |||
* | Fix a few regression when moving the flags | 2014-03-12 | |
| | |||
* | Move evaluation related flags from traits to evaluator and fix evaluators of ↵ | 2014-03-12 | |
| | | | | MapBase and Replicate | ||
* | Move CoeffReadCost mechanism to evaluators | 2014-03-10 | |
| | |||
* | Generalize evaluator<Inverse<>> such that there is no need to specialize it | 2014-02-21 | |
| | |||
* | Port LU module to evaluators (except image() and kernel()) | 2014-02-20 | |
| | |||
* | Fix mixing scalar types with evaluators | 2014-02-19 | |
| | |||
* | Fix vectorization logic wrt assignment functors | 2014-02-19 | |
| |