- 12 May, 2008 7 commits
-
-
Benoit Jacob authored
-fix CMakeLists, public headers weren't getting installed
-
Gael Guennebaud authored
* Fix a mistake in CwiseNullary. * Added a CoreDeclarions header that declares only the forward declarations and related basic stuffs.
-
Benoit Jacob authored
-finline-limit=1000 to gcc to get good performance. By the way some cleanup.
-
Gael Guennebaud authored
and fix an issue in the triangular test
-
Gael Guennebaud authored
(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)
-
Benoit Jacob authored
rename the noarch PacketMath.h to DummyPacketMath.h
-
Benoit Jacob authored
* 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
-
- 08 May, 2008 3 commits
-
-
Benoit Jacob authored
-
Gael Guennebaud authored
-
Gael Guennebaud authored
(needed by the new product implementation) * Make the packet* members template to support aligned and unaligned access. This makes Block vectorizable. Combined with ReferencableBit, we should be able to determine at runtime (in some specific cases) if an aligned vectorization is possible or not. * Improved the new product implementation to robustly handle all cases, it now passes all the tests. * Renamed the packet version ei_predux to ei_preduxp to avoid name collision.
-
- 05 May, 2008 2 commits
-
-
Gael Guennebaud authored
* improved the flexibility of the new product implementation, now all sizes seems to be properly handled.
-
Gael Guennebaud authored
* Introduce a new highly optimized matrix-matrix product for large matrices. The code is still highly experimental and it is activated only if you define EIGEN_WIP_PRODUCT at compile time. Currently the third dimension of the product must be a factor of the packet size (x4 for floats) and the right handed side matrix must be column major. Moreover, currently c = a*b; actually computes c += a*b !! Therefore, the code is provided for experimentation purpose only ! These limitations will be fixed soon or later to become the default product implementation.
-
- 03 May, 2008 3 commits
-
-
Benoit Jacob authored
* Fix several warnings, temporarily disable determinant test.
-
Gael Guennebaud authored
-
Gael Guennebaud authored
this change nothing for current SSE architecture but might be helpful for altivec/cell and up comming AMD processors.
-
- 02 May, 2008 3 commits
-
-
Gael Guennebaud authored
and make Product ok when only one side is vectorizable (and the product is still vectorized)
-
Gael Guennebaud authored
-
Benoit Jacob authored
in benchmark. Still not as fasts as explicit eval(), strangely.
-
- 01 May, 2008 3 commits
-
-
Gael Guennebaud authored
-
Gael Guennebaud authored
-
Gael Guennebaud authored
extended cache optimal product to work in any row/column major situations, and a few bugfixes (forgot to add the Cholesky header, vectorization of CwiseBinary)
-
- 27 Apr, 2008 3 commits
-
-
Gael Guennebaud authored
-
Gael Guennebaud authored
* updated Cholesky to support complex * correct result_type for abs and abs2 functors
-
Gael Guennebaud authored
-
- 26 Apr, 2008 4 commits
-
-
Gael Guennebaud authored
Added a test for Triangular.
-
Gael Guennebaud authored
m.upper() = a+b; only updates the upper triangular part of m. Note that: m = (a+b).upper(); updates all coefficients of m (but half of the additions will be skiped) Updated back/forward substitution to better use Eigen's capability.
-
Gael Guennebaud authored
part of a matrix. Triangular also provide an optimised method for forward and backward substitution. Further optimizations regarding assignments and products might come later. Updated determinant() to take into account triangular matrices. Started the QR module with a QR decompostion algorithm. Help needed to build a QR algorithm (eigen solver) based on it.
-
Gael Guennebaud authored
-
- 25 Apr, 2008 3 commits
-
-
Gael Guennebaud authored
-
Gael Guennebaud authored
- vector to vector assign - PartialRedux - Vectorization criteria of Product - returned type of normalized - SSE integer mul
-
Gael Guennebaud authored
- support dynamic sizes - support arbitrary matrix size when the matrix can be seen as a 1D array (except for fixed size matrices where the size in Bytes must be a factor of 16, this is to allow compact storage of a vector of matrices) Note that the explict vectorization is still experimental and far to be completely tested.
-
- 24 Apr, 2008 2 commits
-
-
Gael Guennebaud authored
-
Gael Guennebaud authored
are provided to handle not suported types seemlessly. Added a generic null-ary expression with null-ary functors. They replace Zero, Ones, Identity and Random.
-
- 18 Apr, 2008 1 commit
-
-
Benoit Jacob authored
-
- 16 Apr, 2008 1 commit
-
-
Benoit Jacob authored
- let Inverse take template parameter MatrixType instead of ExpressionType, in order to reduce executable code size when taking inverses of xpr's. - introduce ei_corrected_matrix_flags : the flags template parameter to the Matrix class is only a suggestion. This is also useful in ei_eval.
-
- 15 Apr, 2008 2 commits
-
-
Benoit Jacob authored
-only evaluate block expressions for which that is beneficial -don't check for invertibility unless requested
-
Benoit Jacob authored
falling back to the general algorithm in the bad case.
-
- 14 Apr, 2008 3 commits
-
-
Benoit Jacob authored
(only 30 muls for size 4) - rework the matrix inversion: now using cofactor technique for size<=3, so the ugly unrolling is only used for size 4 anymore, and even there I'm looking to get rid of it.
-
Benoit Jacob authored
even if the xpr itself wasn't vectorizable.
-
Benoit Jacob authored
fully optimized. * Even if LargeBit is set, only parallelize for large enough objects (controlled by EIGEN_PARALLELIZATION_TRESHOLD).
-