| Commit message (Collapse) | Author | Age |
|
|
|
| |
Renamed ReturnByValue::ReturnMatrixType ReturnByValue::ReturnType (again, Array != Matrix).
|
|
|
|
| |
a.lazyProduct(b).diagonal() !!
|
|
|
|
| |
* add MatrixBase::lazyProduct
|
|
|
|
|
|
|
|
| |
copies
if a and/or b as to be evaluated. So in the next commit I'll remove it. A nice
solution would be to evaluate the lhs/rhs into member of the initial product,
but that would be overkill.
|
|
|
|
|
|
| |
* 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.
|
| |
|
|
|
|
| |
* reimplement .diagonal() for ProductBase to make (A*B).diagonal() more efficient!
|
| |
|
|
|
|
|
|
| |
- clean the *_PUBLIC_INTERFACE_*
- update Diagonal, ReturnByValue, ForceAlignedAccess, UnaryView, etc. to support array
- many other small stuff
|
| |
|
|\ |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| | |
disabled.
All unimplemented assignment operators have been removed.
|
| | |
|
| | |
|
|/
|
|
| |
All tests work fine.
|
|
|
|
| |
need them (fixes VC warning on /W4).
|
|
|
|
|
| |
and complex scalar * real matrix overloads
* allows the inner and outer product specialisations to mix real and complex
|
|
|
|
|
| |
improve doc, and workaround aliasing detection in MatrixBase_eval snippet
(not very nice but I don't know how to do it in a better way)
|
| |
|
|
|
|
|
|
|
|
|
| |
- 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.
|
| |
|
| |
|
|
|
|
|
|
| |
optimized
as one could naturally expect
|
|
|
|
|
|
|
|
| |
- all specialized products now inherits ProductBase
- the default product evaluated by Assign is still here,
but it is currently enabled for small fixed sizes only
- => this significantly speed up compilation for large matrices
- I left the OuterProduct specialization empty as an exercise...
|
|
TriangularProduct
and SelfAdjointMatrixProduct to take advantage of it => fewer LOC
|