| Commit message (Collapse) | Author | Age |
|
|
|
| |
I needed some doxygen tricks to get this to work, so it may not be worth it.
|
| |
|
|
|
|
| |
minor fix in AltiVec Complex.h
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
warnigns.
Fixed (hopefully) final Index realted warnings.
|
| |
|
|
|
|
|
| |
- mv Array/* into Core/
- merge Functors.h files, and move Norms.h into Dot.h
|
|
|
|
|
| |
manipulation of permutations as a sequence of transpositions.
Make LDLT use it.
|
|
|
|
| |
the binary segfaults though, and i think it's related..)
|
| |
|
|
|
|
|
|
| |
methods go.
Rationale: coeffRef() methods should only exist when we have DirectAccess. So a natural thing to do would have been to use enable_if, but since there are many methods it made more sense to do the "enable_if" for the whole group by introducing a new class. And that also that the benefit of not changing method prototypes.
|
| |
|
|
|
|
|
| |
* remove member XprBase typedefs, use ei_dense_xpr_base
* remove member _HasDirectAccess typedefs, use ei_has_direct_access
|
| |
|
|
|
|
| |
adapt 3x3 and 4x4 (non-SSE) inverse paths
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
| |
platform detection, it is needed before we do the vectorization stuff in Eigen/Core !!
* kill EIGEN_DONT_ALIGN_HEAP option (one should use EIGEN_DONT_ALIGN)
* rename EIGEN_DONT_ALIGN_STACK to EIGEN_DONT_ALIGN_STATICALLY. hope it's a better name.
|
|\ |
|
| | |
|
| |
| |
| |
| |
| | |
included after the architecture specific files such that they
can be adapted by each platform.
|
| |
| |
| |
| |
| |
| |
| |
| | |
hackish workarounds
as gcc on ARM (both CodeSourcery 4.4.1 used and experimental 4.5) fail to
ensure proper alignment with __attribute__((aligned(16))). This has to be
fixed upstream to remove the workarounds.
|
| |
| |
| |
| |
| |
| | |
Rewrote ei_handmade_aligned_realloc such that it is now using std::realloc.
Reorganized functions in Memory.h for better readability.
Add missing <cerrno> include to Core (it's now required in Memory.h).
|
| |
| |
| |
| | |
in eigen2 support mode
|
| |\ |
|
| | |
| | |
| | |
| | | |
* proper capitalization: SSE, AltiVec
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | | |
(sse3, ssse3 and sse4), independantly from the compiler.
Only those defines should be used in other places, and the user can
rely on those to know which sets are used.
|
| |/
|/| |
|
| | |
|
|/
|
|
|
| |
my day, my hard disk would die.
Will write a more detailed commit message once it's working.
|
| |
|
|
|
|
|
| |
using std::size_t;
This is the only way that we can ensure QCC support in the long term without having to think about it everytime.
|
|
|
|
|
|
| |
* 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)
|
|
|
|
| |
* reimplement .diagonal() for ProductBase to make (A*B).diagonal() more efficient!
|
| |
|
| |
|
|
|
|
| |
and remove the respective bit flags
|
|\ |
|
| | |
|
|\| |
|
| |
| |
| |
| |
| |
| | |
DenseStorageBase
base class shared by both Matrix and Array
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| |
| |
| | |
Add an internal pseudo expression allowing to optimize operators like +=, *= using
the copyCoeff stuff.
This allows to easily enforce aligned load for the destination matrix everywhere.
|