Gael Guennebaud
b1eca55328
Use Ref<> to ensure that both x and b in Ax=b are compatible with Umfpack/SuperLU expectations
2015-02-03 23:46:05 +01:00
Gael Guennebaud
ebdf6a2dbb
SPQR: fix default threshold value
2015-02-03 22:32:34 +01:00
Benoit Jacob
5ef95fabee
bug #936 , patch 3/3: Properly detect FMA support on ARM (requires VFPv4)
...
and use it instead of MLA when available, because it's both more accurate,
and faster.
2015-01-30 17:45:03 -05:00
Benoit Jacob
0f21613698
bug #936 , patch 2/3: Remove EIGEN_VECTORIZE_FMA, was redundant with EIGEN_HAS_SINGLE_INSTRUCTION_MADD
2015-01-30 17:44:26 -05:00
Benoit Jacob
340b8afb14
bug #936 , patch 1.5/3: rename _FUSED_ macros to _SINGLE_INSTRUCTION_,
...
because this is what they are about. "Fused" means "no intermediate rounding
between the mul and the add, only one rounding at the end". Instead,
what we are concerned about here is whether a temporary register is needed,
i.e. whether the MUL and ADD are separate instructions.
Concretely, on ARM NEON, a single-instruction mul-add is always available: VMLA.
But a true fused mul-add is only available on VFPv4: VFMA.
2015-01-31 14:15:57 -05:00
Benoit Jacob
9f99f61e69
bug #936 , patch 1/3: some cleanup and renaming for consistency.
2015-01-30 17:43:56 -05:00
Benoit Jacob
759bd92a85
bug #935 : Add asm comments in GEBP kernels to work around a bug
...
in both GCC and Clang on ARM/NEON, whereby they spill registers,
severely harming performance. The reason why the asm comments
make a difference is that they prevent the compiler from
reordering code across these boundaries, which has the effect
of extending the lifetime of local variables and increasing
register pressure on this register-tight code.
2015-01-30 17:27:56 -05:00
Gael Guennebaud
f1092d2f73
bug #941 : fix accuracy issue in ColPivHouseholderQR, do not stop decomposition on a small pivot
2015-01-30 19:04:04 +01:00
Gael Guennebaud
9d82f7e30d
Supernodes was disabled.
2015-01-30 17:24:40 +01:00
Gael Guennebaud
a727a2c4ed
bug #933 : RealSchur, do not consider the input matrix norm to check negligible sub-diag entries. This also makes this test consistent with the complex and self-adjoint cases.
2015-01-28 16:07:51 +01:00
Gael Guennebaud
c6eb84aabc
Enable vectorization of transposeInPlace for PacketSize x PacketSize matrices
2015-01-26 17:09:01 +01:00
Gael Guennebaud
e1f1091fde
Add support for dense ?= diagonal
2015-01-24 10:32:49 +01:00
Gael Guennebaud
b9d314ae19
bug #329 : fix typo
2015-01-17 21:55:33 +01:00
Gael Guennebaud
279786e987
Fix missing evaluator in outer-product
2015-01-13 10:25:50 +01:00
Gael Guennebaud
ae4644cc68
bug #907 , ARM64: workaround ICE in xcode/clang
2015-01-13 10:03:00 +01:00
Gael Guennebaud
36f7c1337f
bug #907 , ARM64: workaround vreinterpretq_u64_* not defined in xcode/clang
2015-01-13 09:57:37 +01:00
Gael Guennebaud
63974bcb88
Big 907: workaround some missing intrinsics in current NDK's gcc version (ARM64)
2015-01-07 09:44:25 +01:00
Gael Guennebaud
79f4a59ed9
bug #907 : fix compilation with ARM64
2015-01-07 09:41:56 +01:00
Gael Guennebaud
f5f6e2c6f4
bug #921 : fix utilization of bitwise operation on enums in first_aligned
2014-12-19 14:41:59 +01:00
Gael Guennebaud
25c7d9164f
bug #920 : fix MSVC 2015 compilation issues
2014-12-18 22:58:15 +01:00
Gael Guennebaud
b8d9eaa19b
Use true compile time "if" for Transform::makeAffine
2014-12-13 22:16:39 +01:00
Gael Guennebaud
7dad5f797e
bug #821 : workaround MSVC 2013 issue with using Base::Base::operator=
2014-12-16 13:33:43 +01:00
Gael Guennebaud
0efaff9b3b
Fix out-of-bounds write
2014-12-11 16:15:20 +01:00
Gael Guennebaud
41a20994cc
In simplicial cholesky: avoid deep copy of the input matrix is this later can be used readily
2014-12-08 17:56:33 +01:00
Gael Guennebaud
a910a7466e
Fix inner iterator type
2014-12-08 17:55:31 +01:00
Gael Guennebaud
4371911861
Remove useless and non standard numext::atanh2 function.
2014-12-08 16:44:34 +01:00
Gael Guennebaud
bea36925db
bug #876 : implement a portable log1p function
2014-12-08 16:26:53 +01:00
Gael Guennebaud
7f7a712062
Optimize Simplicial Cholesky when NaturalOrdering is used.
2014-12-08 15:02:25 +01:00
Gael Guennebaud
30c849669d
Fix dynamic allocation in JacobiSVD (regression)
2014-12-08 14:45:04 +01:00
Gael Guennebaud
80ed5bd90c
Workaround various "returning reference to temporary" warnings.
2014-12-05 12:49:30 +01:00
Gael Guennebaud
433bce5c3a
UmfPack support: fix redundant evaluation/copies when calling compute() and support generic expressions as input
2014-12-02 17:30:57 +01:00
Gael Guennebaud
775f7e5fbb
bug #697 : make sure empty classes are at the end in case of multiple inheritence
2014-12-02 14:40:19 +01:00
Gael Guennebaud
a819fa148d
Fix MSVC compilation issue
2014-12-02 14:35:31 +01:00
Gael Guennebaud
1a8dc85142
bug #897 : fix UmfPack usage with mapped sparse matrices
2014-12-02 13:57:13 +01:00
Gael Guennebaud
4974d1d2b4
Fix bug #911 : m_extractedDataAreDirty was not initialized in UmfPackLU
2014-12-02 13:54:06 +01:00
Gael Guennebaud
e2f3e4e4aa
Document non-const SparseMatrix::diagonal() method.
2014-12-01 14:45:15 +01:00
Gael Guennebaud
b26e697182
Make SparseMatrix::coeff() returns a const reference and add a non const version of SparseMatrix::diagonal()
2014-12-01 14:41:39 +01:00
Gael Guennebaud
b1f9f603a0
Simplify return type of diagonal(Index) (and ease compiler job)
2014-11-28 14:39:47 +01:00
Gael Guennebaud
5384e89147
Disable MatrixBase::bdcSvd with CUDA (just like MatrixBase::jacobiSvd
2014-11-26 22:29:29 +01:00
Gael Guennebaud
8518ba0bbc
Fix Hyperplane::Through(a,b,c) when points are aligned or identical. We use the stratgey as in Quaternion::setFromTwoVectors.
2014-11-26 15:01:53 +01:00
Gael Guennebaud
da584912b6
Fix memory pre-allocation when permuting inner vectors of a sparse matrix.
2014-11-24 17:31:59 +01:00
Gael Guennebaud
722916e19d
bug #903 : clean swap API regarding extra enable_if parameters, and add failtests for swap
2014-11-06 09:25:26 +01:00
Gael Guennebaud
c6fefe5d8e
Big 853: replace enable_if in Ref<> ctor by static assertions and add failtests for Ref<>
2014-11-05 16:15:17 +01:00
Gael Guennebaud
ee06f78679
Introduce unified macros to identify compiler, OS, and architecture. They are all defined in util/Macros.h and prefixed with EIGEN_COMP_, EIGEN_OS_, and EIGEN_ARCH_ respectively.
2014-11-04 21:58:52 +01:00
Christoph Hertzberg
0833b82efd
Run sparse_basic unit tests also for rectangular matrices.
...
TriangularView with UnitDiag does not work properly yet (bug #901 )
2014-10-31 17:12:13 +01:00
Christoph Hertzberg
4ec2f07a5b
Fixed bug in SparseBlock which caused a segfault in sparse_extra_3 test
2014-10-30 21:34:10 +01:00
Christoph Hertzberg
883168ed94
Make select CUDA compatible (comparison operators aren't yet, so no test case yet)
2014-10-30 20:16:16 +01:00
Christoph Hertzberg
e5f134006b
EIGEN_UNUSED_VARIABLE works better than casting to void. Make this also usable from CUDA code
2014-10-30 19:59:09 +01:00
Gael Guennebaud
21c0a2ce0c
Move D&C SVD to official SVD module.
2014-10-29 11:29:33 +01:00
Christoph Hertzberg
e2e7ba9f85
bug #898 : add inline hint to const_cast_ptr
2014-10-28 14:49:44 +01:00