| Commit message (Collapse) | Author | Age |
|\ |
|
| |
| |
| |
| | |
* improve compilation error in case of type mismatch
|
|/
|
|
| |
accessors
|
|
|
|
|
|
|
| |
* 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 :)
|
| |
|
|
|
|
| |
* uses named values instead of bools
|
| |
|
|\ |
|
| |
| |
| |
| | |
remove EIGEN_ENUM_MIN/MAX, implement new macros instead
|
|/
|
|
| |
After validation of the final API I'll update the other products to use it.
|
|
|
|
| |
* remove HasDirectAccess / NoDirectAccess constants
|
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
|
| |
* introduce a lazy product version of the coefficient based implementation
=> flagged is not used anymore
=> small outer product are now lazy by default (aliasing is really unlikely for outer products)
|
| |
|
| |
|
|
|
|
|
|
| |
related to nested products.
Fixed a few typos and a few warnings.
|
| |
|
|
|
|
|
|
|
|
|
| |
Added setLinSpaced/LinSpaced functionality to DenseBase.
Improved vectorized assignment - overcomes MSVC optimization issues.
CwiseNullaryOp is now requiring functors to offer 1D and 2D operators.
Adapted existing functors to the new CwiseNullaryOp requirements.
Added ei_plset to create packages as [a, a+1, ..., a+size].
Added more nullaray unit tests.
|
|
|
|
| |
and remove the respective bit flags
|
|\ |
|
| | |
|
| |
| |
| |
| | |
of a namespace instead of Prefix_Name.
|
| |
| |
| |
| |
| |
| | |
because thanks to the previous commit this is not needed anymore
* add a more general ForceAlignedAccess expression which can be used for any expression.
It is already used by StableNorm.h.
|
| |
| |
| |
| | |
Rename some constants to make names match more closely what they mean.
|
| |
| |
| |
| |
| |
| | |
in particular the addition of a selfadjointView, and the
extension of triangularView. The rest is cleaning and does not
change/extend the API.
|
|/
|
|
|
| |
* extend Cwise for multiple storage base class
* a lot of cleaning in the Sparse module
|
|
|
|
|
|
|
| |
* DiagonalMatrix:
- add MaxSizeAtCompileTime parameter
- DiagonalOnTheLeft ---> OnTheLeft
- fix bug in DiagonalMatrix::setIdentity()
|
|\ |
|
| |
| |
| |
| |
| |
| |
| | |
is aligned or not. This is done using the Aligned constant:
Map<MatrixType,Aligned>::Map(data);
* rename ForceAligned to EnforceAlignedAccess, and update its doc,
and emphasize this is mainly an internal stuff.
|
|/
|
|
|
|
|
|
|
|
|
|
|
| |
* continue the decomposition until a pivot is exactly zero;
don't try to compute the rank in the decomposition itself.
* Instead, methods such as rank() use a new internal parameter
called 'threshold' to determine which pivots are to be
considered nonzero.
* The threshold is by default determined by defaultThreshold()
but the user can override that by calling useThreshold(value).
* In solve/kernel/image, don't assume that the diagonal of U
is sorted in decreasing order, because that's only approximately
true. Additional work was needed to extract the right pivots.
|
|
|
|
|
|
|
| |
- R-SVD preconditioning now done with meta selectors to avoid compiling useless code
- SVD options now honored, with options to hint "at least as many rows as cols" etc...
- fix compilation in bad cases (rectangular and fixed-size)
- the check for termination is now done on the fly, no more goto (should have done that earlier!)
|
| |
|
|
|
|
|
|
|
|
|
| |
- 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.
|
| |
|
|
|
|
| |
=> no temporary when the rhs/unknows is row major
|
|\ |
|
| | |
|
| |
| |
| |
| | |
Still remains the problem of alignment and vectorization.
|
| |
| |
| |
| | |
* fix a bug is SparseMatrix
|
|/ |
|
| |
|
|
|
|
|
|
| |
* add missing assert in resize(int)
* add examples for all resize variants
* expand docs (part of which is from Tim Hutt's e-mail)
|
|
|
|
| |
it never made very precise sense. but now does it still make any?
|
|
|
|
|
|
| |
introduce ei_is_diagonal to check for it
DiagonalCoeffs ---> Diagonal and allow Index to by Dynamic
-> add MatrixBase::diagonal(int) with unittest and doc
|
|
|
|
|
|
|
| |
* set AutoAlign=0, DontAlign!=0
* set Dynamic=33331
* add check on fixed sizes
* bump version to 2.0.52
|
|
|
|
|
|
| |
* add Projective and AffineCompact modes as an optional third template
argument
* extend Transform::operator* to support more use cases
|
|
|
|
| |
float/SSE using code from Rohit Garg
|