| Commit message (Collapse) | Author | Age |
| |
|
| |
|
|
|
|
| |
and various fixes to make stuff compile after my big changes
|
| |
|
|
|
|
| |
rvalue expressions.
|
| |
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
DirectAccessBit and corresponding strides API.
|
| |
|
| |
|
|\ |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| | |
I didn't even put it in Eigen2Support because it requires several other modules. But if you want we can always create a new module, Eigen2Support_LeastSquares...
|
| |
| |
| |
| |
| |
| |
| |
| | |
job automatically in 99% cases and can be specialized
* add real/imag/abs2 global functions for Array
* document ei_global_math_functions_filtering_base
* improve unit tests
|
| |
| |
| |
| |
| |
| |
| |
| | |
* Now completely generic so all standard integer types (like char...) are supported.
** add unit test for that (integer_types).
* NumTraits does no longer inherit numeric_limits
* All math functions are now templated
* Better guard (static asserts) against using certain math functions on integer types.
|
| |
| |
| |
| |
| |
| |
| |
| | |
* reduce scope of declarations
* use that low = 0 and high = size-1
* rename some variables
* rename hqr2_step2() to computeEigenvectors()
* exploit that ei_isMuchSmallerThan takes absolute value of arguments
|
|/ |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
replaced _mm_prefetch in GeneralBlockPanelKernel.h, with ei_prefetch() inline function.
Implemented NEON and AltiVec versions, copied SSE version over from GeneralBlockPanelKernel.h.
Also in GCC case (or rather !_MSC_VER) it's implemented using __builtin_prefetch().
NEON managed to give a small but welcome boost, 0.88GFLOPS -> 0.91GFLOPS.
|
| |
|
|
|
|
|
|
|
|
| |
inline function.
Implemented NEON and AltiVec versions, copied SSE version over from GeneralBlockPanelKernel.h.
Also in GCC case (or rather !_MSC_VER) it's implemented using __builtin_prefetch().
NEON managed to give a small but welcome boost, 0.88GFLOPS -> 0.91GFLOPS.
|
|
|
|
| |
(yes, it was only used in dense xprs anyway)
|
|
|
|
| |
* remove HasDirectAccess / NoDirectAccess constants
|
|
|
|
|
| |
* 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
|
| |
| |
| |
| | |
improve porting-Eigen2-to-3 docs
|
| | |
|
| |
| |
| |
| |
| | |
* move the corners support stuff to a new Block.h there
* expand the unit test
|
|\ \ |
|
| |/
|/|
| |
| |
| |
| |
| |
| | |
* 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
|
|/
|
|
|
|
| |
template type name than the actual declaration.
This fixes the recent issues we observed on MSVC systems.
|
|
|
|
|
|
|
|
|
|
|
| |
preallocates member data structures.
- Updated unit tests to check above constructor.
- In the compute() method of decompositions: Made temporary matrices/vectors class members to avoid heap allocations during compute() (when dynamic matrices are used, of course).
These changes can speed up decomposition computation time when a solver instance is used to solve multiple same-sized problems. An added benefit is that the compute() method can now be invoked in contexts were heap allocations are forbidden, such as in real-time control loops.
CAVEAT: Not all of the decompositions in the Eigenvalues module have a heap-allocation-free compute() method. A future patch may address this issue, but some required API changes need to be incorporated first.
|
|\ |
|
| | |
|
|/
|
|
|
| |
First, MSVC 2010 does not ship a 'fixed'/'adapted' STL.
Second, only under very rare cases we do not even need the aligned_allocator.
|
|
|
|
| |
functions can't be fed strided vectors, only strided matrices.
|
| |
|
|\ |
|
| |
| |
| |
| | |
and documentation improvements
|
|/ |
|
| |
|
| |
|