aboutsummaryrefslogtreecommitdiffhomepage
path: root/Eigen/src/Core/Redux.h
Commit message (Collapse)AuthorAge
* email changeGravatar Gael Guennebaud2010-06-24
|
* merge my Dynamic -> -1 changeGravatar Benoit Jacob2010-06-11
|\
* | change the value of Dynamic to -1, since the index type is now configurable.Gravatar Benoit Jacob2010-06-11
| | | | | | | | remove EIGEN_ENUM_MIN/MAX, implement new macros instead
| * Fixes #104.Gravatar Hauke Heibel2010-06-02
|/
* the Index types change.Gravatar Benoit Jacob2010-05-30
| | | | As discussed on the list (too long to explain here).
* fix bug in sliced reduxGravatar Gael Guennebaud2010-05-13
|
* * allow matrix dimensions to be 0 (also at compile time) and provide a ↵Gravatar Benoit Jacob2010-03-21
| | | | | | | | | | | | | | | specialization of ei_matrix_array for size 0 * adapt many xprs to have the right storage order, now that it matters * add static assert on expressions to check that vector xprs have the righ storage order * adapt ei_plain_matrix_type_(column|row)_major * implement assignment of selfadjointview to matrix (was before failing to compile) and add nestedExpression() methods * expand product_symm test * in ei_gemv_selector, use the PlainObject type instead of a custom Matrix<...> type * fix VectorBlock and Block mistakes
* let redux use the new ByOuterInner accessorsGravatar Benoit Jacob2010-02-26
|
* Introduced NestParentByRefBit and NestByRefBit - this should fix temporaries ↵Gravatar Hauke Heibel2010-02-06
| | | | | | related to nested products. Fixed a few typos and a few warnings.
* make sure the correct diagoanl() function is called in trace()Gravatar Gael Guennebaud2010-02-04
|
* Prevent temporaries for reductions.Gravatar Hauke Heibel2010-02-04
|
* Adapted mean to work with complex numbers.Gravatar Hauke Heibel2010-01-29
| | | | Added regression test.
* merge and add start/end to Eigen2SupportGravatar Gael Guennebaud2010-01-05
|\
| * * Fix bug #79: ei_alignmentOffset was assuming that ptr is multiple ofGravatar Benoit Jacob2010-01-02
| | | | | | | | | | | | | | sizeof(Scalar), and that assumption breaks with double on linux x86-32. * Rename ei_alignmentOffset to ei_first_aligned * Rewrite its documentation and part of its body * The variant taking a MatrixBase doesn't need a separate size argument.
* | merge with default branchGravatar Gael Guennebaud2009-12-22
|\|
| * * introduce ei_alignmentOffset(MatrixBase&,Integer)Gravatar Benoit Jacob2009-12-16
| | | | | | | | | | couldnt put it in Memory.h as it needs the definition of MatrixBase * make Redux use it
* | add a DenseBase class for MAtrixBase and ArrayBase and more code factorisationGravatar Gael Guennebaud2009-12-04
| |
| * Assign.h: add LinearTraversal (non-vectorized index-based traversal)Gravatar Benoit Jacob2009-11-18
|/ | | | Rename some constants to make names match more closely what they mean.
* added mean() reductionGravatar Hauke Heibel2009-10-29
|
* Inlining fixes + fixed typo.Gravatar Hauke Heibel2009-10-15
| | | | Removed ei_assert in presence of static assert.
* remove sentence "Eigen itself is part of the KDE project."Gravatar Benoit Jacob2009-05-22
| | | | it never made very precise sense. but now does it still make any?
* add "slice vectorization" of redux (eg. m.block().minCoeff() is nowGravatar Gael Guennebaud2009-03-09
| | | | vectorized)
* * exit Sum.h, exit Prod.h, welcome vectorization of redux() !Gravatar Gael Guennebaud2009-02-12
| | | | * add vectorization for minCoeff and maxCoeff
* * make sum and redux honor EvalBeforeNestingBit tooGravatar Gael Guennebaud2009-01-28
| | | | * fix MSVC issues (hopefully)
* * replace postfix ++ by prefix ++ wherever that makes sense in Eigen/Gravatar Benoit Jacob2008-12-17
| | | | | * fix some "unused variable" warnings in the tests; there remains a libstdc++ "deprecated" warning which I haven't looked much into
* Update e-mail addressGravatar Benoit Jacob2008-11-24
|
* As discussed on ML:Gravatar Gael Guennebaud2008-10-24
| | | | | | | | | | * remove the automatic resizing feature of operator = * add function Matrix::set() to be used when the previous behavior is wanted * the default constructor of dynamic-size matrices now creates a "null" matrix (data=0, rows = cols = 0) instead of a 1x1 matrix * fix UnixX typos ;)
* move CommaInitializer out of MatrixBase and documment it (because of ↵Gravatar Gael Guennebaud2008-09-13
| | | | .finished())
* Complete rewrite of partial reduction according to mailing list discussions.Gravatar Gael Guennebaud2008-07-19
|
* split sum away from redux and vectorize it.Gravatar Benoit Jacob2008-06-23
| | | | | | (could come back to redux after it has been vectorized, and could serve as a starting point for that) also make the abs2 functor vectorizable (for real types).
* * more cleaning in ProductGravatar Gael Guennebaud2008-06-19
| | | | | | * make Matrix2f (and similar) vectorized using linear path * fix a couple of warnings and compilation issues with ICC and gcc 3.3/3.4 (cannot get Transform compiles with gcc 3.3/3.4, see the FIXME)
* * remove Cross product expression: MatrixBase::cross() now returns a temporaryGravatar Gael Guennebaud2008-06-07
| | | | | | which is even better optimized by the compiler. * Quaternion no longer inherits MatrixBase. Instead it stores the coefficients using a Matrix<> and provides only relevant methods.
* * move some compile time "if" to their respective unroller (assign and dot)Gravatar Gael Guennebaud2008-06-07
| | | | | * fix a couple of compilation issues when unrolling is disabled * reduce default unrolling limit to a more reasonable value
* moved purely "array" related stuff to a new module Array.Gravatar Gael Guennebaud2008-05-31
| | | | | | | | This include: - cwise Pow,Sin,Cos,Exp... - cwise Greater and other comparison operators - .any(), .all() and partial reduction - random
* Introduce generic Flagged xpr, remove already Lazy.h and Temporary.hGravatar Benoit Jacob2008-05-14
| | | | Rename DefaultLostFlagMask --> HerediraryBits
* * Added several cast to int of the enums (needed for some compilers)Gravatar Gael Guennebaud2008-05-12
| | | | | | * Fix a mistake in CwiseNullary. * Added a CoreDeclarions header that declares only the forward declarations and related basic stuffs.
* put inline keywords everywhere appropriate. So we don't need anymore to passGravatar Benoit Jacob2008-05-12
| | | | -finline-limit=1000 to gcc to get good performance. By the way some cleanup.
* Added Triangular expression to extract upper or lower (strictly or not)Gravatar Gael Guennebaud2008-04-26
| | | | | | | | | | | part of a matrix. Triangular also provide an optimised method for forward and backward substitution. Further optimizations regarding assignments and products might come later. Updated determinant() to take into account triangular matrices. Started the QR module with a QR decompostion algorithm. Help needed to build a QR algorithm (eigen solver) based on it.
* Various fixes in:Gravatar Gael Guennebaud2008-04-25
| | | | | | | | - vector to vector assign - PartialRedux - Vectorization criteria of Product - returned type of normalized - SSE integer mul
* * rename XprCopy -> NestedGravatar Benoit Jacob2008-04-10
| | | | | * rename OperatorEquals -> Assign * move Util.h and FwDecl.h to a util/ subdir
* Added initial experimental support for explicit vectorization.Gravatar Gael Guennebaud2008-04-09
| | | | | | | | | | | | | Currently only the following platform/operations are supported: - SSE2 compatible architecture - compiler compatible with intel's SSE2 intrinsics - float, double and int data types - fixed size matrices with a storage major dimension multiple of 4 (or 2 for double) - scalar-matrix product, component wise: +,-,*,min,max - matrix-matrix product only if the left matrix is vectorizable and column major or the right matrix is vectorizable and row major, e.g.: a.transpose() * b is not vectorized with the default column major storage. To use it you must define EIGEN_VECTORIZE and EIGEN_INTEL_PLATFORM.
* finish making use of CoeffReadCost and the new XprCopy everywhereGravatar Benoit Jacob2008-04-08
| | | | seems appropriate to me.
* fix compilation (finish removal of EIGEN_UNROLLED_LOOPS)Gravatar Benoit Jacob2008-04-05
|
* * added cwise comparisonsGravatar Gael Guennebaud2008-04-03
| | | | | | | * added "all" and "any" special redux operators * added support bool matrices * added support for cost model of STL functors via ei_functor_traits (By default ei_functor_traits query the functor member Cost)
* -new: recursive costs system, useful to determine automaticallyGravatar Benoit Jacob2008-04-03
| | | | | | | | when to evaluate arguments and when to meta-unroll. -use it in Product to determine when to eval args. not yet used to determine when to unroll. for now, not used anywhere else but that'll follow. -fix badness of my last commit
* Make use of the LazyBit, introduce .lazy(), remove lazyProduct.Gravatar Benoit Jacob2008-03-31
|
* * introducte recursive Flags system for the expressionsGravatar Benoit Jacob2008-03-30
| | | | | | -- currently 3 flags: RowMajor, Lazy and Large -- only RowMajor actually used for now * many minor improvements
* * Added a generic *redux* mini framework allowing custom redux operationsGravatar Gael Guennebaud2008-03-16
as well as partial redux (vertical or horizontal redux). Includes shortcuts for: sum, minCoeff and maxCoeff. There is no shortcut for the partial redux. * Added a generic *visitor* mini framework. A visitor is a custom object sequentially applied on each coefficient with knowledge of its value and coordinates. It is currentlly used to implement minCoeff(int*,int*) and maxCoeff(int*,int*). findBiggestCoeff is now a shortcut for "this->cwiseAbs().maxCoeff(i,j)" * Added coeff-wise min and max. * fixed an issue with ei_pow(int,int) and gcc < 4.3 or ICC