aboutsummaryrefslogtreecommitdiffhomepage
path: root/Eigen/src/Core/CoreEvaluators.h
Commit message (Collapse)AuthorAge
...
* Since there is no reason for evaluators to be nested by reference, let's ↵Gravatar Gael Guennebaud2015-09-02
| | | | remove the evaluator<>::nestedType indirection.
* Make evaluators non-copyable. This guarantee that evaluators storing ↵Gravatar Gael Guennebaud2015-09-02
| | | | temporaries do not introduce unwanted copy overhead.
* Cleaning pass on evaluators: remove the useless and error prone ↵Gravatar Gael Guennebaud2015-09-02
| | | | evaluator<>::type 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
* 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.
* bug #973: update macro-level control of alignement by introducing ↵Gravatar Gael Guennebaud2015-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_traitsGravatar Gael Guennebaud2015-06-19
|
* Add missing accessors for 1D index based access to Replicate<> expressions.Gravatar Gael Guennebaud2015-06-08
|
* Fix a unused-var warningGravatar Benoit Jacob2015-03-15
|
* bug #973, improve AVX support by enabling vectorization of Vector4i-like ↵Gravatar Gael Guennebaud2015-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 ↵Gravatar Gael Guennebaud2015-02-13
|\ | | | | | | useless typedefs
* | bug #877, bug #572: Introduce a global Index typedef. Rename Sparse*::Index ↵Gravatar Christoph Hertzberg2014-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.Gravatar Gael Guennebaud2014-12-05
|/
* Make select CUDA compatible (comparison operators aren't yet, so no test ↵Gravatar Christoph Hertzberg2014-10-30
| | | | case yet)
* 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.
* Missing explicitGravatar Christoph Hertzberg2014-09-30
|
* Introduce a generic InnerIterator classes compatible with evaluators.Gravatar Gael Guennebaud2014-09-29
|
* Make constructors explicit if they could lead to unintended implicit conversionGravatar Christoph Hertzberg2014-09-23
|
* Avoid a potential risk of recursive definition using traits to get he scalar ↵Gravatar Gael Guennebaud2014-09-15
| | | | type
* Fix compilation of coeff(Index) on sub-inner-panelsGravatar Gael Guennebaud2014-09-08
|
* Fix various small issues detected by gccGravatar Gael Guennebaud2014-08-01
|
* Call product_generic_impl by default, and remove lot of boilerplate codeGravatar Gael Guennebaud2014-07-31
|
* Implement evaluator for sparse outer productsGravatar Gael Guennebaud2014-07-19
|
* Make operator=(EigenBase<>) uses the new assignment mechanism and introduce ↵Gravatar Gael Guennebaud2014-06-25
| | | | a generic EigenBase to EigenBase assignment kind based on the previous evalTo mechanism.
* Implement evaluators for sparse Block.Gravatar Gael Guennebaud2014-06-25
|
* Implement binaryop and transpose evaluators for sparse matricesGravatar Gael Guennebaud2014-06-23
|
* Backport changes from old to new expression enginesGravatar Gael Guennebaud2014-06-20
|
* mergeGravatar Gael Guennebaud2014-06-20
|\
* | 1- Introduce sub-evaluator types for unary, binary, product, and map ↵Gravatar Gael Guennebaud2014-06-20
| | | | | | | | | | | | expressions to ease specializing them. 2- Remove a lot of code which should not be there with evaluators, in particular coeff/packet methods implemented in the expressions.
| * Implement evaluator<ReturnByValue>.Gravatar Jitse Niesen2014-04-16
|/ | | | | All supported tests pass apart from Sparse and Geometry, except test in adjoint_4 that a = a.transpose() raises an assert.
* Fix regressions in redux_evaluator flags and evaluator<Block> flagsGravatar Gael Guennebaud2014-03-12
|
* Fix a few regression when moving the flagsGravatar 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
|
* evaluator<Replicate> must evaluate its argument to avoid redundant evaluationsGravatar Gael Guennebaud2014-02-19
|
* Add a Solve expression for uniform treatment of solve() methods.Gravatar Gael Guennebaud2014-02-19
|
* Add evaluator for RefGravatar Gael Guennebaud2014-02-18
|
* Fix evaluator<Replicate> for fixed size objectsGravatar Gael Guennebaud2014-01-26
|
* Enable use of evaluators for noalias and lazyProduct, add conversion to ↵Gravatar Gael Guennebaud2013-12-03
| | | | scalar for inner products
* Fix usage of Dense versus DenseShapeGravatar Gael Guennebaud2013-12-02
|
* First step toward the generalization of evaluators to triangular, sparse and ↵Gravatar Gael Guennebaud2013-11-29
| | | | | | other fancyness. Remove product_tag template parameter to Product.
* Get rid of evalautor_implGravatar Gael Guennebaud2013-11-29
|
* Remove HasEvalTo and all at once eval modeGravatar Gael Guennebaud2013-11-29
|
* Simplify evaluator of EvalToTempGravatar Gael Guennebaud2013-11-27
|
* Drop evaluators for SwapWrapper and SelfCwiseBinaryOpGravatar Gael Guennebaud2013-11-07
|
* Clean evaluator_impl_base. It will probably be removed in the futureGravatar Gael Guennebaud2013-11-07
|
* bug #99: refactor assignment and compound assignment mechanism through ↵Gravatar Gael Guennebaud2013-11-06
| | | | | | | | | | "assignment functors" and "assignement kernels". The former is very low level and generic. The later abstarct the former for dense expressions. This refactoring permits to get rid of the very ugly SwapWrapper and SelfCwiseBinaryOp classes. In the future, this will also permit to simplify all these evaluation loops and perhaps to reuse them for reduxions. That will also permit to specialize for operations like expr1 += expr2 outside Eigen, and so for any kind of expressions (dense, sparse, tensor, etc.)
* Fixed constness in Array- and MatrixWrapper.Gravatar Hauke Heibel2013-07-28
| | | | This also fixes the compilation on VC11.
* Add missing template keyword in evaluatorsGravatar Gael Guennebaud2013-03-01
|