aboutsummaryrefslogtreecommitdiffhomepage
path: root/Eigen/src/Core/Redux.h
Commit message (Collapse)AuthorAge
* Fix c++20 warnings about using enums in arithmetic expressions.Gravatar Rasmus Munk Larsen2021-06-10
|
* Defer default for minCoeff/maxCoeff to templated variant.Gravatar Rasmus Munk Larsen2021-02-26
|
* Make it possible to specify NaN propagation strategy for maxCoeff/minCoeff ↵Gravatar Rasmus Munk Larsen2021-02-24
| | | | reductions.
* bug #1680: improve MSVC inlining by declaring many triavial constructors and ↵Gravatar Gael Guennebaud2019-02-15
| | | | accessors as STRONG_INLINE.
* Enable visitor on empty matrices (the visitor is left unchanged), and ↵Gravatar Gael Guennebaud2019-01-15
| | | | protect min/maxCoeff(Index*,Index*) on empty matrices by an assertion (+ doc & unit tests)
* Make redux_vec_unroller more flexible regarding packet-typeGravatar Gael Guennebaud2018-10-09
|
* Demangle Travseral and Unrolling in ReduxGravatar Gael Guennebaud2018-09-21
|
* Improve slice-vectorization logic for redux (significant speed-up for ↵Gravatar Gael Guennebaud2018-09-21
| | | | reduxion of blocks)
* fix unused warningGravatar Gael Guennebaud2018-07-12
|
* bug #1565: help MSVC to generatenot too bad ASM in reductions.Gravatar Gael Guennebaud2018-07-05
|
* Simplify redux_evaluator using inheritance, and properly rename parameters ↵Gravatar Gael Guennebaud2018-07-02
| | | | in reducers.
* Adds missing EIGEN_STRONG_INLINE to support MSVC properly inlining small ↵Gravatar Basil Fierz2017-10-26
| | | | | | vector calculations When working with MSVC often small vector operations are not properly inlined. This behaviour is observed even on the most recent compiler versions.
* Added missing EIGEN_DEVICE_FUNC qualifiersGravatar Benoit Steiner2017-02-28
|
* Big 279: enable mixing types for comparisons, min, and max.Gravatar Gael Guennebaud2016-06-10
|
* Relax mixing-type constraints for binary coefficient-wise operators:Gravatar Gael Guennebaud2016-06-06
| | | | | | | | | | - Replace internal::scalar_product_traits<A,B> by Eigen::ScalarBinaryOpTraits<A,B,OP> - Remove the "functor_is_product_like" helper (was pretty ugly) - Currently, OP is not used, but it is available to the user for fine grained tuning - Currently, only the following operators have been generalized: *,/,+,-,=,*=,/=,+=,-= - TODO: generalize all other binray operators (comparisons,pow,etc.) - TODO: handle "scalar op array" operators (currently only * is handled) - TODO: move the handling of the "void" scalar type to ScalarBinaryOpTraits
* bug #1193: fix lpNorm<Infinity> for empty input.Gravatar Gael Guennebaud2016-06-02
|
* Disable some long to float conversion warningsGravatar Gael Guennebaud2016-05-26
|
* bug #1207: Add and fix logical-op warningsGravatar Christoph Hertzberg2016-05-11
|
* Enable half-packet in reduxions.Gravatar Gael Guennebaud2016-04-13
|
* Simplify cost computations based on HugeCost being smaller that unrolling limitGravatar Gael Guennebaud2015-10-28
|
* Refactoring of the cost model:Gravatar Gael Guennebaud2015-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)
* bug #1090: fix a shortcoming in redux logic for which slice-vectorization ↵Gravatar Gael Guennebaud2015-10-21
| | | | plus unrolling might happen.
* Cleaning in Redux.hGravatar Gael Guennebaud2015-10-09
|
* Since there is no reason for evaluators to be nested by reference, let's ↵Gravatar Gael Guennebaud2015-09-02
| | | | remove the evaluator<>::nestedType indirection.
* Allow to use arbitrary packet-types during evaluation.Gravatar Gael Guennebaud2015-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 ↵Gravatar Gael Guennebaud2015-08-07
| | | | everywhere
* Generalize first_aligned to take the requested alignment as a template ↵Gravatar Gael Guennebaud2015-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 ↵Gravatar Gael Guennebaud2015-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.
* Remove the usage of result_of for DenseBase::redux as discussed in bug #1006Gravatar Gael Guennebaud2015-06-15
|
* Fix some calls to result_of on binary functors as unary ones.Gravatar Gael Guennebaud2015-02-19
|
* Remove deprecated usage of expr::Index.Gravatar Gael Guennebaud2015-02-16
|
* Make cuda_basic test compile again by adding lots of EIGEN_DEVICE_FUNC.Gravatar Christoph Hertzberg2014-10-13
| | | | Although the test passes now, there might still be some missing.
* Make constructors explicit if they could lead to unintended implicit conversionGravatar Christoph Hertzberg2014-09-23
|
* Remove deprecated code not used by evaluatorsGravatar Gael Guennebaud2014-09-18
|
* merge with default branchGravatar Gael Guennebaud2014-09-14
|\
| * Runtime alignement is not possible if AlignedOnScalar is not true (e.g., for ↵Gravatar Gael Guennebaud2014-09-08
| | | | | | | | complex<double>)
* | Optimize reduxions for HomogeneousGravatar Gael Guennebaud2014-08-01
| |
* | merge with default branchGravatar Gael Guennebaud2014-06-20
|\|
* | Fix regressions in redux_evaluator flags and evaluator<Block> flagsGravatar Gael Guennebaud2014-03-12
| |
* | Extend evaluation traits debuging infoGravatar Gael Guennebaud2014-03-12
| |
* | Move evaluation related flags from traits to evaluator and fix evaluators of ↵Gravatar Gael Guennebaud2014-03-12
| | | | | | | | MapBase and Replicate
* | Move CoeffReadCost mechanism to evaluatorsGravatar Gael Guennebaud2014-03-10
| |
| * Added support for AVX to Eigen.Gravatar Benoit Steiner2014-01-29
| |
* | Make reductions compatible with evaluatorsGravatar Gael Guennebaud2013-12-02
|/
* merge with default branchGravatar Gael Guennebaud2013-04-19
|\
| * bug #564: document the fact that minCoeff/maxCoeff members have undefined ↵Gravatar Gael Guennebaud2013-04-09
| | | | | | | | behavior if the matrix contains NaN.
* | Add support for NVCC5: most of the Core and part of LU are callable from ↵Gravatar Gael Guennebaud2013-02-07
|/ | | | | | CUDA code. Still a lot to do.
* Automatic relicensing to MPL2 using Keirs script. Manual fixup follows.Gravatar Benoit Jacob2012-07-13
|
* Get rid of include directives inside namespace blocks (bug #339).Gravatar Jitse Niesen2012-04-15
|
* fix static inline versus inline static issues (the former is the correct order)Gravatar Gael Guennebaud2012-01-31
|