| Commit message (Collapse) | Author | Age |
... | |
|
|
|
|
|
|
| |
- Euler angles and angle axis conversions,
- stable spherical interpolation
- documentation
- update the respective unit test
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
- get the doc of the flags in Constants right
- finally give up with SEPARATE_MEMBER_PAGES: it triggers too big
Doxygen bugs, and produces too many small pages. So we have one
huge page for MatrixBase at currently 300kb and going up, so the
solution especially for users with low bandwidth will be to provide
an archive of the html documentation.
|
|
|
|
|
| |
(haven't tried them yet)
* applied the meta selector rule to MatrixBase::swap()
|
|
|
|
|
| |
initialized enum values showing the last word the initializer instead of the actual
enum value's name; add some more docs.
|
|
|
|
|
|
| |
disappear
from the docs.
|
| |
|
| |
|
|
|
|
|
| |
However the eigen vectors are not correct yet, but I really cannot find the
problem.
|
|
|
|
| |
cwiseAbs()
|
|
|
|
|
|
| |
- add MatrixBase::matrixNorm(); in the non-selfadjoint case, we reduce to the
selfadjoint case by using the "C*-identity" a.k.a.
norm of x = sqrt(norm of x * x.adjoint())
|
|
|
|
|
|
|
|
|
| |
aborting
on an assert. Had to fix a stupid bug in Block -- very strange we hadn't hit it
before.
However the test still fails.
|
|
|
|
|
| |
which now supports selfadjoint matrix. The implementation follows
Golub's famous book.
|
|
|
|
|
|
|
|
|
| |
* added MatrixBase::real()
* added the ability to extract a selfadjoint matrix from the
lower or upper part of a matrix, e.g.:
m.extract<Upper|SelfAdjoint>()
will ignore the strict lower part and return a selfadjoint.
This is compatible with ZeroDiag and UnitDiag.
|
|
|
|
|
|
| |
* fix inverse() bug discovered by Gael's test
* fix warnings introduced by the new Diagonal stuff
* update Doxyfile to v1.5.6
|
|
|
|
|
| |
discovered that m1 == m1.inverse().inverse() fails though
m1.inverse()*m1 == I
|
|
|
|
|
| |
it allows the possiblity to save some compilation time by linking to it
*and* defining the token EIGEN_EXTERN_INSTANCIATIONS
|
| |
|
|
|
|
|
|
|
|
| |
This include:
- cwise Pow,Sin,Cos,Exp...
- cwise Greater and other comparison operators
- .any(), .all() and partial reduction
- random
|
| |
|
|
|
|
|
| |
to the corresponding special case of the unrollers.
the latter ones are therefore re-named *product_impl.
|
|
|
|
|
| |
as it speed up compilation.
* fix minor typo introduced in the previous commit
|
|
|
|
| |
In particular this flag changes the behavior of operator* to a coeff wise product.
|
|
|
|
| |
anymore.
|
|
|
|
| |
this should be alpha5.
|
|
|
|
|
|
| |
in MatrixBase work
* removed product_selector and cleaned Product.h a bit
* cleaned Assign.h a bit
|
|
|
|
|
| |
* bugfix in Assign and cache friendly product (weird that worked before)
* improved argument evaluation in Product
|
|
|
|
|
|
| |
* added ConjugateReturnType and AdjointReturnType that are type-defined to Derived&
and Transpose<Derived> if the scalar type is not complex: this avoids abusive copies in
the cache friendly Product
|
|
|
|
|
|
|
|
|
|
|
| |
was a sign that we were doing something wrong. In fact, having
NestByValue as a special case of Flagged was wrong, and the previous
commit, while not buggy, was inefficient because then when the resulting
NestByValue xpr was nested -- hence copied -- the original xpr which was
already nested by value was copied again; hence instead of 1 copy we got
3 copies.
The solution was to ressuscitate the old Temporary.h (renamed
NestByValue.h) as it was the right approach.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
finally that's more subtle than just using ei_nested, because when
flagging with NestByValueBit we want to store the expression by value
already, regardless of whether it already had the NestByValueBit set.
* rename temporary() ----> nestByValue()
* move the old Product.h to disabled/, replace by what was ProductWIP.h
* tweak -O and -g flags for tests and examples
* reorder the tests -- basic things go first
* simplifications, e.g. in many methoeds return derived() and count on
implicit casting to the actual return type.
* strip some not-really-useful stuff from the heaviest tests
|
|
|
|
|
| |
* added qr and eigensolver tests
* fix a compilation warning in Matrix copy constructor
|
|
|
|
| |
(svn required to commit that separately)
|
|
|
|
|
|
|
|
|
|
| |
Triangular class
- full meta-unrolling in Part
- move inverseProduct() to MatrixBase
- compilation fix in ProductWIP: introduce a meta-selector to only do
direct access on types that support it.
- phase out the old Product, remove the WIP_DIRTY stuff.
- misc renaming and fixes
|
| |
|
|
|
|
|
|
|
| |
- fallback to normal product for small dynamic matrices
- overloaded "c += (a * b).lazy()" to avoid the expensive and useless temporary and setZero()
in such very common cases.
* fix a couple of issues with the flags
|
| |
|
| |
|
|
|
|
|
| |
replaced the QTestLib framework my custom macros
and a (optional) custom script to run the tests from ctest.
|
|
|
|
| |
Added a few typedef of complex return types in MatrixBase (Needed by MSVC)
|
|
|
|
| |
Rename DefaultLostFlagMask --> HerediraryBits
|
|
|
|
|
| |
selfadjoint at compile time, then it returns real eigenvalues.
* Fix a couple of bugs with the new product.
|
|
|
|
| |
-fix CMakeLists, public headers weren't getting installed
|
|
|
|
|
|
| |
* Fix a mistake in CwiseNullary.
* Added a CoreDeclarions header that declares only the forward declarations
and related basic stuffs.
|
|
|
|
| |
-finline-limit=1000 to gcc to get good performance. By the way some cleanup.
|
|
|
|
| |
and fix an issue in the triangular test
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(does not support complex and does not re-use the QR decomposition)
* Rewrite the cache friendly product to have only one instance per scalar type !
This significantly speeds up compilation time and reduces executable size.
The current drawback is that some trivial expressions might be
evaluated like conjugate or negate.
* Renamed "cache optimal" to "cache friendly"
* Added the ability to directly access matrix data of some expressions via:
- the stride()/_stride() methods
- DirectAccessBit flag (replace ReferencableBit)
|
|
|
|
| |
rename the noarch PacketMath.h to DummyPacketMath.h
|
|
|
|
|
|
|
|
| |
* Fix compilation of Inverse.h with vectorisation
* Introduce EIGEN_GNUC_AT_LEAST(x,y) macro doing future-proof (e.g. gcc v5.0) check
* Only use ProductWIP if vectorisation is enabled
* rename EIGEN_ALWAYS_INLINE -> EIGEN_INLINE with fall-back to inline keyword
* some cleanup/indentation
|
| |
|