aboutsummaryrefslogtreecommitdiffhomepage
path: root/test/evaluators.cpp
Commit message (Collapse)AuthorAge
* Add explicit regression test for bug #1622Gravatar Gael Guennebaud2018-11-16
|
* PR 544: Set requestedAlignment correctly for SliceVectorizedTraversalsGravatar Mark D Ryan2018-11-13
| | | | | | | | | | | | | | | | | | | | | | | Commit aa110e681b8b2237757a652ba47da49e1fbd2cd6 optimised the multiplication of small dyanmically sized matrices by restricting the packet size to a maximum of 4, increasing the chances that SIMD instructions are used in the computation. However, it introduced a mismatch between the packet size and the requestedAlignment. This mismatch can lead to crashes when the destination is not aligned. This patch fixes the issue by ensuring that the AssignmentTraits are correctly computed when using a restricted packet size. * * * Bind LinearPacketType to MaxPacketSize This commit applies any packet size limit specified when instantiating copy_using_evaluator_traits to the LinearPacketType, providing that the size of the destination is not known at compile time. * * * Add unit test for restricted packet assignment A new unit test is added to check that multiplication of small dynamically sized matrices works correctly when the packet size is restricted to 4 and the destination is unaligned.
* Get rid of EIGEN_TEST_FUNC, unit tests must now be declared with ↵Gravatar Gael Guennebaud2018-07-17
| | | | | | | | | EIGEN_DECLARE_TEST(mytest) { /* code */ }. This provide several advantages: - more flexibility in designing unit tests - unit tests can be glued to speed up compilation - unit tests are compiled with same predefined macros, which is a requirement for zapcc
* Fix compilation of evaluator unit testGravatar Gael Guennebaud2016-06-14
|
* Add unit test for CoeffReadCostGravatar Gael Guennebaud2015-10-09
|
* Remove debuging prod() and lazyprod() function, plus some cleaning in ↵Gravatar Gael Guennebaud2015-10-07
| | | | noalias assignment
* Remove deprecated code not used by evaluatorsGravatar Gael Guennebaud2014-09-18
|
* Enable evaluators by defaultGravatar Gael Guennebaud2014-08-29
|
* Add evaluator support for diagonal productsGravatar Gael Guennebaud2014-02-17
|
* Make selfqdjoint products use evaluatorsGravatar Gael Guennebaud2013-12-13
|
* Add support for triangular products with evaluatorsGravatar Gael Guennebaud2013-12-07
|
* Add direct assignment of productsGravatar Gael Guennebaud2013-12-02
|
* Make swap unit test work with evaluatorsGravatar Gael Guennebaud2013-12-02
|
* Get rid of call_dense_swap_loopGravatar Gael Guennebaud2013-12-02
|
* Add evaluator/assignment to TriangularView expressionsGravatar Gael Guennebaud2013-12-02
|
* Evaluator: introduce the main Assignment class, add call_assignment to ↵Gravatar Gael Guennebaud2013-11-25
| | | | bypass NoAlias and AssumeAliasing, and some bits of cleaning
* Workaround a bunch of stupid warnings in unit testsGravatar Gael Guennebaud2013-06-23
|
* 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 interface for NoAlias assignments.Gravatar Jitse Niesen2012-06-29
| | | | | | | | * Rename the old copy_using_evaluators to noalias_copy_using_evaluators. * Write a new copy_using_evaluators which strips NoAlias expression, if present, and calls noalias_copy_using_evaluators; in future, it will also take care of aliasing in products. * Add expression() getter to NoAlias.
* 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.
* Resize lhs automatically in copy_using_evaluator().Gravatar Jitse Niesen2012-06-28
|
* Fix an evaluator test which was wrong and failed in debug builds.Gravatar Jitse Niesen2012-06-24
|
* resurrect expression evaluatorsGravatar Gael Guennebaud2012-06-22
|
* Remove evaluators for 2.1 release.Gravatar Jitse Niesen2011-12-14
| | | | We plan to re-instate them when we branch 2.2 (see bug #388).
* Implement compound assignments using evaluator of SelfCwiseBinaryOp.Gravatar Jitse Niesen2011-04-28
|
* Implement swap using evaluators.Gravatar Jitse Niesen2011-04-28
|
* Use copyCoeff/copyPacket in copy_using_evaluator.Gravatar Jitse Niesen2011-04-22
|
* Implement evaluator for Diagonal.Gravatar Jitse Niesen2011-04-22
|
* Implement evaluators for Reverse.Gravatar Jitse Niesen2011-04-22
|
* Implement evaluators for ArrayWrapper and MatrixWrapper.Gravatar Jitse Niesen2011-04-22
|
* Implement unrolling in copy_using_evaluator() .Gravatar Jitse Niesen2011-04-13
|
* Implement evaluator for PartialReduxExpr as a dumb wrapper.Gravatar Jitse Niesen2011-04-13
|
* Implement evaluator for Replicate.Gravatar Jitse Niesen2011-04-12
|
* Implement evaluator for Select.Gravatar Jitse Niesen2011-04-12
|
* Implement evaluator for CwiseUnaryViewGravatar Jitse Niesen2011-04-05
|
* Implement evaluator for MapGravatar Jitse Niesen2011-04-05
|
* Evaluators: add Block evaluator as dumb wrapper, add slice vectorization.Gravatar Jitse Niesen2011-03-31
|
* Evaluators: Implement linear traversal, better testing.Gravatar Jitse Niesen2011-03-27
|
* Evaluators: Implement LinearVectorizedTraversal, packet ops in evaluators.Gravatar Jitse Niesen2011-03-25
|
* makes evaluator test use VERIFY_IS_APPROXGravatar Gael Guennebaud2011-03-23
|
* add a stupid Product<A,B> expression produced by prod(a,b), and implement a ↵Gravatar Gael Guennebaud2011-03-23
| | | | first version of its evaluator
* import evaluator worksGravatar Gael Guennebaud2011-03-23