aboutsummaryrefslogtreecommitdiffhomepage
path: root/Eigen/src/Core/Swap.h
Commit message (Collapse)AuthorAge
* bug #1680: improve MSVC inlining by declaring many triavial constructors and ↵Gravatar Gael Guennebaud2019-02-15
| | | | accessors as STRONG_INLINE.
* 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<>.
* Fix vectorization of swap for non trivial expressionsGravatar Gael Guennebaud2015-03-31
|
* Index refactoring: StorageIndex must be used for storage only (and locally ↵Gravatar Gael Guennebaud2015-02-13
| | | | when it make sense). In all other cases use the global Index type.
* 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.
* 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.
* Remove deprecated code not used by evaluatorsGravatar Gael Guennebaud2014-09-18
|
* Hide some deprecated classes.Gravatar Gael Guennebaud2014-02-24
|
* Refactor triangular assignmentGravatar Gael Guennebaud2014-01-25
|
* Get rid of call_dense_swap_loopGravatar 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
* Add nvcc support for small eigenvalues decompositions and workaround lack of ↵Gravatar Gael Guennebaud2013-08-01
| | | | support for std::swap and std::numeric_limits
* Automatic relicensing to MPL2 using Keirs script. Manual fixup follows.Gravatar Benoit Jacob2012-07-13
|
* fix most of the shadow warnings in Core/*.hGravatar Gael Guennebaud2012-06-22
|
* Get rid of include directives inside namespace blocks (bug #339).Gravatar Jitse Niesen2012-04-15
|
* fix several const qualifier issues: double ones, meaningless ones, some ↵Gravatar Gael Guennebaud2012-02-03
| | | | | | missing ones, etc. (note that const qualifiers are set by internall::nested)
* Implement swap using evaluators.Gravatar Jitse Niesen2011-04-28
|
* 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
|
* Various documentation improvements.Gravatar Jitse Niesen2010-07-06
| | | | | | | * Add short documentation for Array class * Put all classes explicitly in Core module (where applicable) * Section on Modules in Quick Reference Guide * Put Page 7 after Page 6 in Contents :)
* the Index types change.Gravatar Benoit Jacob2010-05-30
| | | | As discussed on the list (too long to explain here).
* remove MakeBase, use ei_dense_xpr_base insteadGravatar Benoit Jacob2010-04-23
| | | | (yes, it was only used in dense xprs anyway)
* * Implement the ByOuterInner accessorsGravatar Benoit Jacob2010-02-25
| | | | | | | | * use them (big simplification in Assign.h) * axe (Inner|Outer)StrideAtCompileTime that were just introduced * ei_int_if_dynamic now asserts that the size is the expected one: adapt to that in Block.h * add rowStride() / colStride() in DenseBase * implement innerStride() / outerStride() everywhere needed
* lot of cleaning:Gravatar Gael Guennebaud2010-01-22
| | | | | | - clean the *_PUBLIC_INTERFACE_* - update Diagonal, ReturnByValue, ForceAlignedAccess, UnaryView, etc. to support array - many other small stuff
* port VectorwiseOp and Swap to the novel mechanisms, and various cleanningGravatar Gael Guennebaud2010-01-04
|
* merge with default branchGravatar Gael Guennebaud2009-12-22
|\
| * Warning 4512 (assignment operators could not be generated) is now simply ↵Gravatar Hauke Heibel2009-12-14
| | | | | | | | | | | | disabled. All unimplemented assignment operators have been removed.
* | more ET refactoring:Gravatar Gael Guennebaud2009-11-17
|/ | | | | * extend Cwise for multiple storage base class * a lot of cleaning in the Sparse module
* More warning fixes.Gravatar Hauke Heibel2009-10-14
|
* Added EIGEN_REF_TO_TEMPORARY define for rvalue support.Gravatar Hauke Heibel2009-09-21
| | | | Allowed VC10 to make use 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?
* Update e-mail addressGravatar Benoit Jacob2008-11-24
|
* doc and use sed to clean the class hierarchy instead ofGravatar Gael Guennebaud2008-08-28
| | | | preprocessor directives.
* * move memory related stuff to util/Memory.hGravatar Gael Guennebaud2008-08-26
| | | | | * clean ugly doxygen inheritence of expressions * keep improving the documentation... slowly !
* * Add the possibility to customize the output of matrices, e.g.:Gravatar Gael Guennebaud2008-08-21
| | | | | | | | IoFormat OctaveFmt(4, AlignCols, ", ", ";\n", "", "", "[", "]"); cout << mat.format(OctaveFmt); The first "4" is the precision. Documentation missing. * Some compilation fixes
* * Big change in Block and Map:Gravatar Gael Guennebaud2008-08-09
| | | | | | | | | | | | | | - added a MapBase base xpr on top of which Map and the specialization of Block are implemented - MapBase forces both aligned loads (and aligned stores, see below) in expressions such as "x.block(...) += other_expr" * Significant vectorization improvement: - added a AlignedBit flag meaning the first coeff/packet is aligned, this allows to not generate extra code to deal with the first unaligned part - removed all unaligned stores when no unrolling - removed unaligned loads in Sum when the input as the DirectAccessBit flag * Some code simplification in CacheFriendly product * Some minor documentation improvements
* * fix bug in SwapWrapper : store the wrapped expression by referenceGravatar Benoit Jacob2008-08-09
| | | | | | * optimize setIdentity: when the matrix is large enough it is better to setZero() and overwrite the diagonal * start of LU solver, disabled for now
* LU: remove partial-pivoting path (moderately useful since it's doesGravatar Benoit Jacob2008-08-07
| | | | | | | | not allow to easily get the rank), fix a bug (which could have been triggered by matrices having coefficients of very different magnitudes). Part: add an assert to prevent hard to find bugs Swap: update comments
* New implementation of Swap as discussed, reusing Assign. Makes LU runGravatar Benoit Jacob2008-08-05
| | | | 10% faster overall.
* * LU decomposition, supporting all rectangular matrices, with fullGravatar Benoit Jacob2008-08-04
| | | | | | | | | | pivoting for better numerical stability. For now the only application is determinant. * New determinant unit-test. * Disable most of Swap.h for now as it makes LU fail (mysterious). Anyway Swap needs a big overhaul as proposed on IRC. * Remnants of old class Inverse removed. * Some warnings fixed.
* * fix compilation issue in ProductGravatar Gael Guennebaud2008-07-02
| | | | | * added some tests for product and swap * overload .swap() for dynamic-sized matrix of same size
* * start of the Geometry module with a cross product and quaternion expressionsGravatar Gael Guennebaud2008-06-02
| | | | | (haven't tried them yet) * applied the meta selector rule to MatrixBase::swap()
* -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
* * #define EIGEN_NDEBUG now also disables asserts. UsefulGravatar Benoit Jacob2008-03-26
| | | | | | | | | | | | to disable eigen's asserts without disabling one's own program's asserts. Notice that Eigen code should now use ei_assert() instead of assert(). * Remove findBiggestCoeff() as it's now almost redundant. * Improve echelon.cpp: inner for loop replaced by xprs. * remove useless "(*this)." here and there. I think they were first introduced by automatic search&replace. * fix compilation in Visitor.h (issue triggered by echelon.cpp) * improve comment on swap().
* generalized ei_traits<>.Gravatar Benoit Jacob2008-03-12
| | | | | | Finally the importing macro is named EIGEN_BASIC_PUBLIC_INTERFACE because it does not only import the ei_traits, it also makes the base class a friend, etc.
* big change: MatrixBase only takes one template parameter "Derived", theGravatar Benoit Jacob2008-03-10
| | | | | | template parameter "Scalar" is removed. This is achieved by introducting a template <typename Derived> struct Scalar to achieve a forward-declaration of the Scalar typedefs.
* Relicense --> dual-license LGPL3+/GPL2+Gravatar Benoit Jacob2008-02-28
|
* alpha 3.1. in this commit:Gravatar Benoit Jacob2008-01-15
- finally get the Eval stuff right. get back to having Eval as a subclass of Matrix with limited functionality, and then, add a typedef MatrixType to get the actual matrix type. - add swap(), findBiggestCoeff() - bugfix by Ramon in Transpose - new demo: doc/echelon.cpp