aboutsummaryrefslogtreecommitdiffhomepage
path: root/Eigen/src/Core/AssignEvaluator.h
Commit message (Collapse)AuthorAge
...
* Help clang to inline some functions, thus fixing some regressionsGravatar Gael Guennebaud2015-10-07
|
* Remove debuging prod() and lazyprod() function, plus some cleaning in ↵Gravatar Gael Guennebaud2015-10-07
| | | | noalias assignment
* Define Permutation*<>::Scalar to 'void', re-enable scalar type compatibility ↵Gravatar Gael Guennebaud2015-10-06
| | | | check in assignment while relaxing this test for void types.
* Some cleaningGravatar Gael Guennebaud2015-10-06
|
* Cleaning pass on evaluators: remove the useless and error prone ↵Gravatar Gael Guennebaud2015-09-02
| | | | evaluator<>::type indirection.
* Enable vectorization with half-packetsGravatar Gael Guennebaud2015-08-07
|
* 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.
* bug #1039: Redefining EIGEN_DEFAULT_DENSE_INDEX_TYPE may lead to errorsGravatar Christoph Hertzberg2015-07-13
|
* Add a call_assignment_no_alias_no_transpose shortcutGravatar Gael Guennebaud2015-06-24
|
* Remove aligned-on-scalar assert and fallback to non vectorized path at ↵Gravatar Gael Guennebaud2015-06-14
| | | | runtime (first_aligned already had this runtime guard)
* 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.
* Introduce unified macros to identify compiler, OS, and architecture. They ↵Gravatar Gael Guennebaud2014-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.Gravatar Christoph Hertzberg2014-10-13
| | | | Although the test passes now, there might still be some missing.
* Using Kernel::Index type instead of int to prevent possible implicit ↵Gravatar Georg Drenkhahn2014-09-21
| | | | conversion from long to int.
* Remove deprecated code not used by evaluatorsGravatar Gael Guennebaud2014-09-18
|
* Favor column major storage for inner productsGravatar Gael Guennebaud2014-09-14
|
* Re-enable aliasing checks when using evaluatorsGravatar Gael Guennebaud2014-09-14
|
* Resizing is done by call_assignment_noalias, so no need to perform it when ↵Gravatar Gael Guennebaud2014-07-21
| | | | dealing with aliasing.
* Make sure we evaluate into temporaries matching evaluator storage order ↵Gravatar Gael Guennebaud2014-07-19
| | | | requirements
* 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 binaryop and transpose evaluators for sparse matricesGravatar Gael Guennebaud2014-06-23
|
* Extend evaluation traits debuging infoGravatar 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
|
* Generalize evaluator<Inverse<>> such that there is no need to specialize itGravatar Gael Guennebaud2014-02-21
|
* Port LU module to evaluators (except image() and kernel())Gravatar Gael Guennebaud2014-02-20
|
* Fix mixing scalar types with evaluatorsGravatar Gael Guennebaud2014-02-19
|
* Fix vectorization logic wrt assignment functorsGravatar Gael Guennebaud2014-02-19
|
* CleaningGravatar Gael Guennebaud2014-02-18
|
* Finally, the simplest remains to deffer resizing at the latestGravatar Gael Guennebaud2014-02-18
|
* New design for handling automatic transpositionGravatar Gael Guennebaud2014-02-18
|
* Deal with automatic transposition in call_assignment, fix a few shortcomingsGravatar Gael Guennebaud2014-02-17
|
* Add missing template keywordGravatar Gael Guennebaud2014-01-26
|
* Refactor triangular assignmentGravatar Gael Guennebaud2014-01-25
|
* Add direct assignment of productsGravatar Gael Guennebaud2013-12-02
|
* Get rid of call_dense_swap_loopGravatar Gael Guennebaud2013-12-02
|
* 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.
* Remove HasEvalTo and all at once eval modeGravatar Gael Guennebaud2013-11-29
|
* Evaluator: introduce the main Assignment class, add call_assignment to ↵Gravatar Gael Guennebaud2013-11-25
| | | | bypass NoAlias and AssumeAliasing, and some bits of cleaning
* bug #99: move the creation of the evaluator to a central place, and make ↵Gravatar Gael Guennebaud2013-11-07
| | | | generic_dense_assignment_kernel hold the destination and source evaluators
* 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.)
* Fix static/inline orderGravatar Gael Guennebaud2013-11-06
|
* Clean source code and unit tests with respect to -Wunused-local-typedefsGravatar Gael Guennebaud2013-04-10
|
* Fix "storage class is not first" warningsGravatar Gael Guennebaud2013-02-28
|
* Fix compilation with ICC that was unable to instanciate first_alignedGravatar Gael Guennebaud2013-02-26
|