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
Benoit Steiner
9f98650d0a
Ensured that contractions that can be reduced to a matrix vector product work correctly even when the input coefficients aren't aligned.
2015-01-06 09:29:13 -08: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
Christoph Hertzberg
e8cdbedefb
bug #877 , bug #572 : Introduce a global Index typedef. Rename Sparse*::Index to StorageIndex, make Dense*::StorageIndex an alias to DenseIndex. Overall this commit gets rid of all Index conversion warnings.
2014-12-04 22:48:53 +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
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
da584912b6
Fix memory pre-allocation when permuting inner vectors of a sparse matrix.
2014-11-24 17:31:59 +01:00
Benoit Steiner
509e4ddc02
Added reduction packet primitives for CUDA
2014-11-19 10:34:11 -08: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
Benoit Steiner
2dde63499c
Generalized the matrix vector product code.
2014-10-31 16:33:51 -07: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
Benoit Steiner
bc99c5f7db
fixed some potential alignment issues.
2014-10-30 18:09:53 -07:00
Benoit Steiner
1946cc4478
Added missing packet primitives for CUDA.
2014-10-30 17:52:32 -07: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
Christoph Hertzberg
bd2d330b25
Temporary workaround for bug #875 :
...
Let TriangularView<Sparse>::nonZeros() return nonZeros() of the nested expression
2014-10-28 13:31:00 +01:00
Konstantinos Margaritis
79225db0b6
Merged in kmargar/eigen (pull request PR-87)
...
Extend NEON to add ARMv8 64-bit double support
2014-10-28 13:08:53 +02:00
Konstantinos Margaritis
94ed7c81e6
Bug #896 : Swap order of checking __VSX__/__ALTIVEC__
2014-10-22 06:15:18 -04:00
Konstantinos Margaritis
fcb3573d17
Merged eigen/eigen into default
2014-10-22 10:42:18 +03:00
Konstantinos Margaritis
fae4fd7a26
Added ARMv8 support
2014-10-22 07:39:49 +00:00
Christoph Hertzberg
cf09c5f687
Prevent CUDA calling a __host__ function from a __host__ __device__ function is not allowed
error.
2014-10-21 20:40:09 +02:00
Konstantinos Margaritis
b508619392
working 64-bit support in PacketMath.h, Complex.h needed
2014-10-21 18:10:33 +00:00
Konstantinos Margaritis
87524922dc
check for __ARM_NEON instead as it's defined in arm64 as well
2014-10-21 18:08:50 +00:00
Gael Guennebaud
fe57b2f963
bug #701 : workaround (min) and (max) blocking ADL by introducing numext::mini and numext::maxi internal functions and a EIGEN_NOT_A_MACRO macro.
2014-10-20 15:55:32 +02:00
Gael Guennebaud
973e6a035f
bug #718 : Introduce a compilation error when using the wrong InnerIterator type with a SparseVector
2014-10-20 14:07:08 +02:00
Christoph Hertzberg
84aaa03182
Addendum to bug #859 : pexp(NaN) for double did not return NaN, also, plog(NaN) did not return NaN.
...
psqrt(NaN) and psqrt(-1) shall return NaN if EIGEN_FAST_MATH==0
2014-10-20 13:13:43 +02:00
Gael Guennebaud
aa5f79206f
Fix bug #859 : pexp(NaN) returned Inf instead of NaN
2014-10-20 11:38:51 +02:00
Gael Guennebaud
b4a9b3f496
Add unit tests for Rotation2D's inverse(), operator*, slerp, and fix regression wrt explicit ctor change
2014-10-20 11:04:32 +02:00
Gael Guennebaud
d04f23260d
Fix bug #894 : the sign of LDLT was not re-initialized at each call of compute()
2014-10-20 10:48:40 +02:00
Gael Guennebaud
8838b0a1ff
Fix SparseQR::rank for a completely empty matrix.
2014-10-19 22:42:20 +02:00
Gael Guennebaud
b50e5bc816
merge
2014-10-17 16:53:18 +02:00
Gael Guennebaud
a370b1f2e2
Fix SparseLU::absDeterminant and add respective unit test
2014-10-17 16:52:56 +02:00
Gael Guennebaud
feacfa5f83
Fix JacobiSVD wrt undeR/overflow by doing scaling prior to QR preconditioning
2014-10-17 15:32:06 +02:00
Gael Guennebaud
8472e697ca
Add lapack interface to JacobiSVD and BDCSVD
2014-10-17 15:31:11 +02:00
Mark Borgerding
880e72c130
quieted more g++ warnings of the form: warning: typedef XXX locally defined but not used [-Wunused-local-typedefs]
2014-10-16 09:19:32 -04:00
Benoit Steiner
bfdd9f3ac9
Made the blocking computation aware of the l3 cache
...
Also optimized the blocking parameters to take into account the number of threads used for a computation
2014-10-15 15:32:59 -07:00
Benoit Steiner
99d75235a9
Misc improvements and cleanups
2014-10-13 17:02:09 -07:00
Christoph Hertzberg
d3f52debc6
Make cuda_basic test compile again by adding lots of EIGEN_DEVICE_FUNC.
...
Although the test passes now, there might still be some missing.
2014-10-13 17:18:26 +02:00
Gael Guennebaud
a80e17cfe8
Remove unused and dangerous CompressedStorage::Map function
2014-10-09 23:42:33 +02:00
Gael Guennebaud
349c2c9235
bug #367 : fix double copies in atWithInsertion, and add respective unit-test
2014-10-09 23:35:49 +02:00
Gael Guennebaud
48d537f59f
Fix indentation
2014-10-09 23:35:26 +02:00
Gael Guennebaud
538c059aa4
bug #887 : fix CompressedStorage::reallocate wrt memory leaks
2014-10-09 23:35:05 +02:00
Gael Guennebaud
a48b82eece
Add a scoped_array helper class to handle locally allocated/used arrays
2014-10-09 23:34:05 +02:00
Gael Guennebaud
4b886e6b39
bug #889 : fix protected typedef
2014-10-08 07:48:30 +02:00
Gael Guennebaud
5741349294
bug #882 : fix various const-correctness issues with *View classes.
2014-10-07 18:29:28 +02:00
Gael Guennebaud
d44d432baa
Re-enable products with triangular views of sparse matrices: we simply have to treat them as a sparse matrix.
2014-10-06 16:11:26 +02:00
Gael Guennebaud
893bfcf95f
bug #887 : use ei_declare_aligned_stack_constructed_variable instead of manual new[]/delete[] pairs in AMD and Paralellizer
2014-10-06 11:54:30 +02:00
Gael Guennebaud
fb53ff1eda
Fix SparseLU regarding uncompressed inputs and avoid manual new/delete calls.
2014-10-06 11:42:31 +02:00
Benoit Steiner
bbce6fa65d
define EIGEN_VECTORIZE_CUDA when compiling with nvcc
2014-10-03 19:55:35 -07:00
Benoit Steiner
95a430a2ca
Vector primitives for CUDA
2014-10-03 19:45:19 -07:00
Benoit Steiner
b7271dffb5
Generalized the gebp apis
2014-10-02 16:51:57 -07:00
Benoit Steiner
5cc23199be
More tests to validate the const-correctness of the tensor code.
2014-10-02 10:30:44 -07:00
Konstantinos Margaritis
9d3c69952b
fixed to make big-endian VSX work as well
2014-10-01 09:43:56 +00:00
Gael Guennebaud
5180bb5e47
Add missing default ctor in Rotation2D
2014-09-30 16:59:28 +02:00
Christoph Hertzberg
81517eebc1
Missing explicit
2014-09-30 16:42:04 +02:00
Christoph Hertzberg
12d59465cb
bug #884 : Copy constructor of Ref shall never malloc, constructing from other RefBase shall only malloc if the memory layout is incompatible.
2014-09-30 14:57:54 +02:00
Gael Guennebaud
56a0bbbbee
Fix compilation with GCC
2014-09-29 18:28:18 +02:00
Gael Guennebaud
abd3502e9e
Introduce a generic InnerIterator classes compatible with evaluators.
2014-09-29 13:36:57 +02:00
Georg Drenkhahn
bc34ee3365
Using Index type instead of hard coded int type to prevent potential implicit integer conversion.
2014-09-22 18:56:36 +02:00
Georg Drenkhahn
9a04cd307c
Added implicit integer conversion by using explicit integer type conversion. Adding assert to catch overflow.
2014-09-22 18:47:33 +02:00
Gael Guennebaud
f0a62c90bc
Avoid comparisons between different index types.
2014-09-29 10:27:51 +02:00
Georg Drenkhahn
2946992ad4
Using StorageIndexType for loop assigning initial permutation. Adding assert for index overflow.
2014-09-22 17:59:02 +02:00
Georg Drenkhahn
821ff0ecfb
Using Index instead of hard coded int type to prevent potential implicit integer conversion
2014-09-22 16:12:35 +02:00
Georg Drenkhahn
2c4cace56c
Using Index instead of hard coded int type to prevent potential implicit integer conversion
2014-09-22 15:54:34 +02:00
Georg Drenkhahn
b2755edcdd
Replaced hard coded int types with Index types preventing implicit integer conversions.
2014-09-21 23:15:35 +02:00
Georg Drenkhahn
d1ef3c3546
Changed Diagonal::index() to return an Index type instead of int to prevent possible implicit conversion from long to int.
...
Added inline keyword to member methods.
2014-09-21 10:21:20 +02:00
Georg Drenkhahn
edaefeb978
Using Kernel::Index type instead of int to prevent possible implicit conversion from long to int.
2014-09-21 10:01:12 +02:00
Gael Guennebaud
74cde0c925
Add missing return derived() in ArrayBase::operator=
2014-09-28 09:16:13 +02:00
Christoph Hertzberg
4ba8aa1482
Fix bug #884 : No malloc for zero-sized matrices or for Ref without temporaries
2014-09-25 16:05:17 +02:00
Christoph Hertzberg
27d6b4daf9
Tridiagonalization::diagonal() and ::subDiagonal() did not work. Added unit-test
2014-09-24 14:37:13 +02:00
Gael Guennebaud
446001ef51
Fix nested_eval<Product<> > which wrongly returned a Product<> expression
2014-09-24 09:39:09 +02:00
Christoph Hertzberg
421feea3b2
member_redux constructor is explicit too. Renamed some typedefs for more consistency.
2014-09-23 18:55:42 +02:00
Christoph Hertzberg
7817bc19a4
Removed FIXME, as it is actually necessary.
2014-09-23 17:23:34 +02:00
Christoph Hertzberg
eb13ada3aa
Renamed CwiseInverseReturnType to InverseReturnType for ArrayBase::inverse()
2014-09-23 17:21:27 +02:00
Christoph Hertzberg
36448c9e28
Make constructors explicit if they could lead to unintended implicit conversion
2014-09-23 14:28:23 +02:00
Christoph Hertzberg
de0d8a010e
Suppress stupid gcc-4.4 warning
2014-09-23 12:58:14 +02:00
Gael Guennebaud
ff46ec0f24
bug #881 : make SparseMatrixBase::isApprox(SparseMatrixBase) exploits sparse computations instead of converting the operands to dense matrices.
2014-09-22 23:33:28 +02:00
Gael Guennebaud
f9d6d3780f
bug #879 : fix compilation of tri1=mat*tri2 by copying tri2 into a full temporary.
2014-09-22 17:34:17 +02:00
Christoph Hertzberg
d9e0336a78
Merged in kmargar/eigen (pull request PR-84)
...
Add VSX support
2014-09-22 12:57:06 +02:00
Jitse Niesen
333905b0c2
Fix typos in docs for IterativeLinearSolvers module
2014-09-21 14:20:08 +01:00
Jitse Niesen
5fa69422a2
Fix copy-and-paste typo in SolveWithGuess assignment
...
This fixes compilation of code snippets in BiCGSTAB docs.
2014-09-21 14:19:23 +01:00
Konstantinos Margaritis
de38ff2499
prefetch are noops on VSX, actually disable the prefetch trait
2014-09-21 11:56:07 +00:00
Konstantinos Margaritis
60e093a9dc
Merged eigen/eigen into default
2014-09-21 14:02:51 +03:00
Konstantinos Margaritis
56408504e4
fix compile error on big endian altivec
2014-09-21 13:59:30 +03:00
Konstantinos Margaritis
974fe38ca3
prefetch are noops on VSX
2014-09-21 11:24:30 +00:00
Konstantinos Margaritis
c0205ca4af
VSX supports vec_div, implement where appropriate (float/doubles)
2014-09-21 08:12:22 +00:00
Konstantinos Margaritis
10f8aabb61
VSX port passes packetmath_[1-5] tests!
2014-09-20 22:31:31 +00:00
Jitse Niesen
80de35b6c5
Remove double return statement in PlainObjectBase::_set()
2014-09-19 22:05:18 +01:00
Konstantinos Margaritis
60663a510a
32-bit floats/ints, 64-bit doubles pass packetmath tests, complex 32/64-bit remaining
2014-09-19 21:05:01 +00:00
Gael Guennebaud
0a18eecab3
bug #100 : add support for explicit scalar to Array conversion (as enable implicit conversion is much more tricky)
2014-09-19 13:25:28 +02:00
Gael Guennebaud
755e77266f
Fix SparseQR for row-major inputs.
2014-09-19 09:58:56 +02:00
Gael Guennebaud
07c5500d70
Introduce a compilation error when using the wrong InnerIterator type.
2014-09-19 09:58:20 +02:00
Gael Guennebaud
0ca43f7e9a
Remove deprecated code not used by evaluators
2014-09-18 15:15:27 +02:00
Gael Guennebaud
8b3be4907d
log2(int) must be inlined.
2014-09-18 10:53:53 +02:00
Gael Guennebaud
0bf5894861
workaround one more shadowing issue with MSVC
2014-09-16 18:21:39 -07:00
Gael Guennebaud
c2f66c65aa
workaround MSVC compilation issue (shadow issue)
2014-09-16 16:23:45 -07:00
Gael Guennebaud
125619146b
workaround weird MSVC compilation issue: a typdedef in a base class shadows a template parameter of a derived class
2014-09-16 16:06:32 -07:00
Gael Guennebaud
fc23e93707
Add a portable log2 function for integers
2014-09-17 09:56:07 +02:00
Gael Guennebaud
0f0580b97c
Remove not needed template keyword.
2014-09-17 09:55:44 +02:00
Gael Guennebaud
486ca277a0
Workaround MSVC ICE
2014-09-16 10:29:29 -07:00
Benoit Steiner
10a79ca3a3
Merged latest updates from the Eigen trunk.
2014-09-15 09:18:16 -07:00
Gael Guennebaud
466d6d41c6
Avoid a potential risk of recursive definition using traits to get he scalar type
2014-09-15 17:40:17 +02:00
Gael Guennebaud
8514179aa3
Fix traits<Quaternion>::IsAligned when using evaluators
2014-09-15 13:53:52 +02:00
Gael Guennebaud
c83e01f2d6
Favor column major storage for inner products
2014-09-14 19:38:49 +02:00
Gael Guennebaud
26db954776
Re-enable aliasing checks when using evaluators
2014-09-14 19:06:08 +02:00
Gael Guennebaud
fda680f9cf
Adapt changeset 51b3f558bb
...
to evaluators:
(Fix bug #822 : outer products needed linear access, and add respective unit tests)
2014-09-14 18:31:29 +02:00
Gael Guennebaud
dfc54e1bbf
Fix /= when using evaluator as in changeset 2d90484450
2014-09-14 18:27:48 +02:00
Gael Guennebaud
749b56f6af
merge with default branch
2014-09-14 17:34:54 +02:00
Gael Guennebaud
af9c9f7706
Fix comparison to block size
2014-09-14 17:33:39 +02:00
Jitse Niesen
9452eb38f8
Make UpperBidiagonalization accept row-major matrices (bug #769 )
...
* Give temporary workspace the same storage order as original matrix
* Take storage order into account when determining inner stride
of rows and columns
* Change one test to use a row-major matrix.
2014-09-12 14:52:35 +01:00
Konstantinos Margaritis
470aa15c35
First time it compiles, but fails to pass the tests.
2014-09-09 16:58:48 +00:00
Gael Guennebaud
188a13f9fe
Fix compilation of coeff(Index) on sub-inner-panels
2014-09-08 09:50:03 +02:00
Gael Guennebaud
b23556bbbd
Oops, a block size of 1 is not very useful, set it to 48 as in HouseholderQR
2014-09-05 08:50:50 +02:00
Gael Guennebaud
8846aa6d1b
Optimization: enable cache-efficient application of HouseholderSequence.
2014-09-04 09:15:59 +02:00
Gael Guennebaud
c82dc227f1
Cleaning in BDCSVD (formating, handling of transpose case, remove some for loops)
2014-09-03 10:15:24 +02:00
Gael Guennebaud
47829e2d16
Disable solve_ret_val like mechanism with evaluator enabled
2014-09-01 18:32:59 +02:00
Gael Guennebaud
1f398dfc82
Factorize *SVD::solve to SVDBase
2014-09-01 18:31:54 +02:00
Gael Guennebaud
b3a0365429
merge with default branch
2014-09-01 18:21:01 +02:00
Gael Guennebaud
eb39296028
Reafctoring in D&C SVD unsupported module: clean and merge the SVDBase class to Eigen/SVD, rm copy/pasted JacobiSVD.h file
2014-09-01 18:16:20 +02:00
Gael Guennebaud
b121eecf60
Fix regression is sparse-sparse product
2014-09-01 17:34:55 +02:00
Gael Guennebaud
1c4b69c5fb
Factorize solveWithGuess in IterativeSolverBase
2014-09-01 17:19:51 +02:00
Gael Guennebaud
8a74ce922c
Make IncompleteLUT use SparseSolverBase.
2014-09-01 17:19:16 +02:00