aboutsummaryrefslogtreecommitdiffhomepage
path: root/Eigen/src/Core/CoreEvaluators.h
Commit message (Collapse)AuthorAge
* 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
|
* Generalize Block<> to support various implementation wrt StorageKind (just ↵Gravatar Gael Guennebaud2012-11-16
| | | | like other expression)
* Evaluators: Fixed bug caused by Diagonal dynamic index change.Gravatar Jitse Niesen2012-07-14
| | | | This caused the evaluators unit test to fail.
* Automatic relicensing to MPL2 using Keirs script. Manual fixup follows.Gravatar Benoit Jacob2012-07-13
|
* Evaluators: Remove member variables if known at compile-time.Gravatar Jitse Niesen2012-07-06
| | | | Also, use composition instead of inheritance in EvalToTemp evaluator.
* Move implementation of coeff() &c to Matrix/Array evaluator.Gravatar Jitse Niesen2012-07-05
|
* Implement A.noalias() = B * C without temporariesGravatar Jitse Niesen2012-06-29
| | | | | | | | * Wrap expression inside EvalToTemp in copy_using_evaluators() if we assume aliasing for that expression (that is, for products) * Remove temporary kludge of evaluating expression to temporary in AllAtOnce traversal * Implement EvalToTemp expression object
* Make product eval-at-once.Gravatar Jitse Niesen2012-06-29
| | | | | | | | | * Make product EvalAtOnce in cases OuterProduct, GemmProduct and GemvProduct * Ensure that product evaluators are nested inside EvalToTemp evaluator * As temporary kludge, evaluate expression to temporary in AllAtOnce traversal and pass expression operator to evalTo()
* Implement eval-at-once in evaluator.Gravatar Jitse Niesen2012-06-29
| | | | | | | | - Add evaluator_traits with HasEvalTo flag, which is true if evaluator has evalTo() function. - Add AllAtOnce traversal, which calls evalTo() in evaluator. - If source evaluator in copy_using_evaluator has HasEvalTo set, then use AllAtOnce traversal.
* Move (part of) evaluation of products to evaluator objects.Gravatar Jitse Niesen2012-06-29
| | | | | | | * Copy implementation from CoeffBasedProduct. * Copy implementation from GeneralProduct in InnerProduct case. * For GeneralProduct in other cases, call the evalTo() member function with expression objects in constructor of evaluator.