Commit message (Collapse) | Author | Age | |
---|---|---|---|
* | Disable previous workaround. | Gael Guennebaud | 2016-09-06 |
| | |||
* | Workaround MSVC instantiation faillure of has_*ary_operator at the level of ↵ | Gael Guennebaud | 2016-09-06 |
| | | | | triats<Ref>::match so that the has_*ary_operator are really properly instantiated throughout the compilation unit. | ||
* | Fix shadowing wrt Eigen::Index | Gael Guennebaud | 2016-09-05 |
| | |||
* | Workaround a weird msvc 2012 compilation error. | Gael Guennebaud | 2016-09-05 |
| | |||
* | Fix for msvc 2012 and older | Gael Guennebaud | 2016-09-05 |
| | |||
* | Turned the Index type used by the nullary wrapper into a template parameter. | Benoit Steiner | 2016-09-02 |
| | |||
* | Fix compilation with nvcc | Gael Guennebaud | 2016-09-01 |
| | |||
* | bug #1286: automatically detect the available prototypes of functors passed ↵ | Gael Guennebaud | 2016-08-31 |
| | | | | | | | | | to CwiseNullaryExpr such that functors have only to implement the operators that matters among: operator()() operator()(i) operator()(i,j) Linear access is also automatically detected based on the availability of operator()(i,j). | ||
* | Add TernaryFunctors and the betainc SpecialFunction. | Eugene Brevdo | 2016-06-02 |
| | | | | | | | | | | | | | | | | | | | TernaryFunctors and their executors allow operations on 3-tuples of inputs. API fully implemented for Arrays and Tensors based on binary functors. Ported the cephes betainc function (regularized incomplete beta integral) to Eigen, with support for CPU and GPU, floats, doubles, and half types. Added unit tests in array.cpp and cxx11_tensor_cuda.cu Collapsed revision * Merged helper methods for betainc across floats and doubles. * Added TensorGlobalFunctions with betainc(). Removed betainc() from TensorBase. * Clean up CwiseTernaryOp checks, change igamma_helper to cephes_helper. * betainc: merge incbcf and incbd into incbeta_cfe. and more cleanup. * Update TernaryOp and SpecialFunctions (betainc) based on review comments. | ||
* | Introduce internal's UIntPtr and IntPtr types for pointer to integer ↵ | Gael Guennebaud | 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. | ||
* | Block<> should not disable vectorization based on inner-size, this is the ↵ | Gael Guennebaud | 2016-05-24 |
| | | | | responsibilty of the assignment logic. | ||
* | DiagonalWrapper is a vector, so it must expose the LinearAccessBit flag. | Gael Guennebaud | 2016-05-19 |
| | |||
* | Fix performance regression: with AVX, unaligned stores were emitted instead ↵ | Gael Guennebaud | 2016-05-01 |
| | | | | of aligned ones for fixed size assignement. | ||
* | Fix shortcoming in fixed-value deduction of startRow/startCol | Gael Guennebaud | 2016-02-29 |
| | |||
* | bug #667: declare several critical functions as FORECE_INLINE to make ICC ↵ | Gael Guennebaud | 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 #1158: PartialReduxExpr is a vector expression, and it thus must expose ↵ | Gael Guennebaud | 2016-01-28 |
| | | | | the LinearAccessBit flag | ||
* | bug #1144: fix regression in x=y+A*x (aliasing), and move ↵ | Gael Guennebaud | 2016-01-09 |
| | | | | evaluator_traits::AssumeAliasing to evaluator_assume_aliasing. | ||
* | Fix storage order of PartialRedux | Gael Guennebaud | 2015-12-10 |
| | |||
* | Add LU::transpose().solve() and LU::adjoint().solve() API. | Gael Guennebaud | 2015-12-01 |
| | |||
* | bug #1009, part 1/2: make sure vector expressions expose LinearAccessBit flag. | Gael Guennebaud | 2015-11-27 |
| | |||
* | Refactoring of the cost model: | Gael Guennebaud | 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) | ||
* | Simplify evaluator::Flags for Map<> | Gael Guennebaud | 2015-10-27 |
| | |||
* | Re-enable vectorization of LinSpaced, plus some cleaning | Gael Guennebaud | 2015-10-08 |
| | |||
* | Clean evaluator<EvalToTemp> | Gael Guennebaud | 2015-10-08 |
| | |||
* | Properly implement PartialReduxExpr on top of evaluators, and fix multiple ↵ | Gael Guennebaud | 2015-10-08 |
| | | | | evaluation of nested expression | ||
* | Some cleaning in evaluators | Gael Guennebaud | 2015-10-08 |
| | |||
* | Add a few missing EIGEN_DEVICE_FUNC declarations | Gael Guennebaud | 2015-09-03 |
| | |||
* | Since there is no reason for evaluators to be nested by reference, let's ↵ | Gael Guennebaud | 2015-09-02 |
| | | | | remove the evaluator<>::nestedType indirection. | ||
* | Make evaluators non-copyable. This guarantee that evaluators storing ↵ | Gael Guennebaud | 2015-09-02 |
| | | | | temporaries do not introduce unwanted copy overhead. | ||
* | Cleaning pass on evaluators: remove the useless and error prone ↵ | Gael Guennebaud | 2015-09-02 |
| | | | | evaluator<>::type indirection. | ||
* | Allow to use arbitrary packet-types during evaluation. | Gael Guennebaud | 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 ↵ | Gael Guennebaud | 2015-08-07 |
| | | | | everywhere | ||
* | First part of a big refactoring of alignment control to enable the handling ↵ | Gael Guennebaud | 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 #973: update macro-level control of alignement by introducing ↵ | Gael Guennebaud | 2015-07-29 |
| | | | | 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). | ||
* | Remove useless specializations of evaluator_traits | Gael Guennebaud | 2015-06-19 |
| | |||
* | Add missing accessors for 1D index based access to Replicate<> expressions. | Gael Guennebaud | 2015-06-08 |
| | |||
* | Fix a unused-var warning | Benoit Jacob | 2015-03-15 |
| | |||
* | bug #973, improve AVX support by enabling vectorization of Vector4i-like ↵ | Gael Guennebaud | 2015-03-13 |
| | | | | types, and enforcing alignement of Vector4f/Vector2d-like types to preserve compatibility with SSE and future Eigen versions that will vectorize them with AVX enabled. | ||
* | Merge Index-refactoring branch with default, fix PastixSupport, remove some ↵ | Gael Guennebaud | 2015-02-13 |
|\ | | | | | | | useless typedefs | ||
* | | bug #877, bug #572: Introduce a global Index typedef. Rename Sparse*::Index ↵ | Christoph Hertzberg | 2014-12-04 |
| | | | | | | | | to StorageIndex, make Dense*::StorageIndex an alias to DenseIndex. Overall this commit gets rid of all Index conversion warnings. | ||
| * | Workaround various "returning reference to temporary" warnings. | Gael Guennebaud | 2014-12-05 |
|/ | |||
* | Make select CUDA compatible (comparison operators aren't yet, so no test ↵ | Christoph Hertzberg | 2014-10-30 |
| | | | | case yet) | ||
* | Make cuda_basic test compile again by adding lots of EIGEN_DEVICE_FUNC. | Christoph Hertzberg | 2014-10-13 |
| | | | | Although the test passes now, there might still be some missing. | ||
* | Missing explicit | Christoph Hertzberg | 2014-09-30 |
| | |||
* | Introduce a generic InnerIterator classes compatible with evaluators. | Gael Guennebaud | 2014-09-29 |
| | |||
* | Make constructors explicit if they could lead to unintended implicit conversion | Christoph Hertzberg | 2014-09-23 |
| | |||
* | Avoid a potential risk of recursive definition using traits to get he scalar ↵ | Gael Guennebaud | 2014-09-15 |
| | | | | type | ||
* | Fix compilation of coeff(Index) on sub-inner-panels | Gael Guennebaud | 2014-09-08 |
| | |||
* | Fix various small issues detected by gcc | Gael Guennebaud | 2014-08-01 |
| | |||
* | Call product_generic_impl by default, and remove lot of boilerplate code | Gael Guennebaud | 2014-07-31 |
| |