aboutsummaryrefslogtreecommitdiffhomepage
path: root/test/product_notemporary.cpp
Commit message (Collapse)AuthorAge
* Fix regression: .conjugate() was popped out but not re-introduced.Gravatar Gael Guennebaud2019-02-18
|
* Set cost of conjugate to 0 (in practice it boils down to a no-op).Gravatar Gael Guennebaud2019-02-18
| | | | | This is also important to make sure that A.conjugate() * B.conjugate() does not evaluate its arguments into temporaries (e.g., if A and B are fixed and small, or * fall back to lazyProduct)
* GEMM: catch all scalar-multiple variants when falling-back to a coeff-based ↵Gravatar Gael Guennebaud2019-02-18
| | | | | | | product. Before only s*A*B was caught which was both inconsistent with GEMM, sub-optimal, and could even lead to compilation-errors (https://stackoverflow.com/questions/54738495).
* 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
* Remove local Index typedef from unit-testsGravatar Gael Guennebaud2018-07-12
|
* Introduce the macro ei_declare_local_nested_eval to help allocating on the ↵Gravatar Gael Guennebaud2018-07-09
| | | | | | stack local temporaries via alloca, and let outer-products makes a good use of it. If successful, we should use it everywhere nested_eval is used to declare local dense temporaries.
* bug #1435: fix aliasing issue in exressions like: A = C - B*A;Gravatar Gael Guennebaud2017-06-08
|
* Fix a performance regression in (mat*mat)*vec for which mat*mat was ↵Gravatar Gael Guennebaud2016-11-30
| | | | evaluated multiple times.
* Optimize expression matching "d?=a-b*c" as "d?=a; d?=b*c;"Gravatar Gael Guennebaud2016-08-23
|
* bug #1144: fix regression in x=y+A*x (aliasing), and move ↵Gravatar Gael Guennebaud2016-01-09
| | | | evaluator_traits::AssumeAliasing to evaluator_assume_aliasing.
* Implement temporary-free path for "D.nolias() ?= C + A*B". (I thought it was ↵Gravatar Gael Guennebaud2015-10-09
| | | | already implemented)
* Fix nesting sub-expression in outer-productsGravatar Gael Guennebaud2015-10-08
|
* Fix a nesting issue in some matrix-vector cases.Gravatar Gael Guennebaud2015-10-08
|
* Factorize VERIFY_EVALUATION_COUNT in unit testsGravatar Gael Guennebaud2015-06-19
|
* Workaround dead store warnings in unit tests.Gravatar Gael Guennebaud2015-02-18
|
* merge with default branchGravatar Gael Guennebaud2014-07-10
|\
| * Fix many long to int implicit conversionsGravatar Gael Guennebaud2014-07-08
| |
* | Add evaluator shortcut for triangular ?= productGravatar Gael Guennebaud2014-02-18
|/
* Workaround a bunch of stupid warnings in unit testsGravatar Gael Guennebaud2013-06-23
|
* Add temporary check for triangularView += productGravatar Gael Guennebaud2013-04-10
|
* Automatic relicensing to MPL2 using Keirs script. Manual fixup follows.Gravatar Benoit Jacob2012-07-13
|
* add the possibility to configure the maximal matrix size in the unit testsGravatar Gael Guennebaud2011-07-12
|
* now gemv supports stridesGravatar Gael Guennebaud2011-01-30
|
* rename macroGravatar Benoit Jacob2010-12-25
|
* bug #54 - really fix const correctness except in SparseGravatar Benoit Jacob2010-12-22
|
* bug #86 : use internal:: namespace instead of ei_ prefixGravatar Benoit Jacob2010-10-25
|
* extend product unit testsGravatar Gael Guennebaud2010-07-07
|
* unit test fix for default to row majorGravatar Gael Guennebaud2010-06-24
|
* Still fixing warnings.Gravatar Hauke Heibel2010-06-20
|
* Utilize Index in all unit tests.Gravatar Hauke Heibel2010-06-20
|
* * implement the corner() API change: new methods topLeftCorner() etcGravatar Benoit Jacob2010-04-22
| | | | | | | | * get rid of BlockReturnType: it was not needed, and code was not always using it consistently anyway * add topRows(), leftCols(), bottomRows(), rightCols() * add corners unit-test covering all of that * adapt docs, expand "porting from eigen 2 to 3" * adapt Eigen2Support
* fix ei_blas_traits directaccess check: in the case of vectors, having a ↵Gravatar Benoit Jacob2010-04-16
| | | | nontrivial inner stride is OK.
* * add some 1x1 testsGravatar Benoit Jacob2010-04-16
| | | | * temporarily disable tests that strangely fail, with a big FIXME
* * Refactoring of the class hierarchy: introduction of DenseDirectAccessBase, ↵Gravatar Benoit Jacob2010-04-16
| | | | | | | | | removal of extra _Base/_Options template parameters. * Introduction of strides-at-compile-time so for example the optimized code really knows when it needs to evaluate to a temporary * StorageKind / XprKind * Quaternion::setFromTwoVectors: use JacobiSVD instead of SVD * ComplexSchur: support the 1x1 case
* fix a couple of ICE with gcc 4.0.1Gravatar Gael Guennebaud2010-02-12
|
* Fixed notemporary unit test.Gravatar Hauke Heibel2010-02-11
|
* Fixed warning.Gravatar Hauke Heibel2010-02-10
|
* Deactivated test which requires variadic macros.Gravatar Hauke Heibel2010-02-09
|
* Regression tests for number of nested temporaries.Gravatar Hauke Heibel2010-02-09
| | | | Moved EIGEN_DEBUG_MATRIX_CTOR to ei_matrix_storage to capture resize related allocations.
* add accessors to coeff based productGravatar Gael Guennebaud2010-02-09
|
* Remove some Array #includes.Gravatar Jitse Niesen2010-01-21
|
* remove the Triangular suffix to Upper, Lower, UnitLower, etc,Gravatar Gael Guennebaud2010-01-07
| | | | and remove the respective bit flags
* finally add a Array class with storage via the introduction of a ↵Gravatar Gael Guennebaud2009-12-17
| | | | | | DenseStorageBase base class shared by both Matrix and Array
* big huge changes, so i dont remember everything.Gravatar Benoit Jacob2009-10-28
| | | | | | | | | | * renaming, e.g. LU ---> FullPivLU * split tests framework: more robust, e.g. dont generate empty tests if a number is skipped * make all remaining tests use that splitting, as needed. * Fix 4x4 inversion (see stable branch) * Transform::inverse() and geo_transform test : adapt to new inverse() API, it was also trying to instantiate inverse() for 3x4 matrices. * CMakeLists: more robust regexp to parse the version number * misc fixes in unit tests
* kill ei_add_test_multi. Now the macro ei_add_test does all that ↵Gravatar Benoit Jacob2009-10-19
| | | | automatically, by parsing the source file. No risk anymore to specify the wrong number of tests! Also, introduce CALL_SUBTESTX for X=1..10 that allows to port existing code much quicker. And port already the product* and eigensolver* files.
* move eigen values related stuff of the QR module to a new EigenSolver module.Gravatar Gael Guennebaud2009-09-03
| | | | | - perhaps we can find a better name ? - note that the QR module still includes the EigenSolver module for compatibility
* Remove last lazyness warnings.Gravatar Hauke Heibel2009-09-02
|
* fix issue #47: now m.noalias() = XXX properly resize m if neededGravatar Gael Guennebaud2009-09-01
|
* As proposed on the list:Gravatar Gael Guennebaud2009-08-15
| | | | | | | | | - rename EvalBeforeAssignBit to MayAliasBit - make .lazy() remove the MayAliasBit only, and mark it as deprecated - add a NoAlias pseudo expression, and MatrixBase::noalias() function Todo: - we have to decide whether += and -= assume no aliasing by default ? - once we agree on the API: update the Sparse module and the unit tests respectively.
* overload operartor* with a ProductBase such that "scalar * (mat * mat)" is ↵Gravatar Gael Guennebaud2009-08-11
| | | | | | optimized as one could naturally expect