Gael Guennebaud
548216b7ca
QuaternionBase::slerp was documented twice and one explanation was ambiguous.
2014-01-12 11:09:06 +01:00
Christoph Hertzberg
bbf373bbe9
Applied patch from Richard JW Roberts, resolving bug #704
2013-12-21 22:14:03 +01:00
Christoph Hertzberg
1200bd2ef0
Grafted from 5725:cdedc9e90d21099e8b3191f95425680ebe710d6f
...
and resolved conflicts
2013-12-21 21:46:27 +01:00
Christoph Hertzberg
8a49dd5626
Fixed typos in comments
2013-12-19 11:55:17 +01:00
Gael Guennebaud
d357bbd9c0
Fix a few regression regarding temporaries and products
2013-12-14 22:53:47 +01:00
Gael Guennebaud
27c068e9d6
Make selfqdjoint products use evaluators
2013-12-13 18:09:07 +01:00
Gael Guennebaud
e94fe4cc3e
fix resizing in noalias for blocks, and make -=/+= use evaluators
2013-12-13 18:06:58 +01:00
Gael Guennebaud
2ca0ccd2f2
Add support for triangular products with evaluators
2013-12-07 17:17:47 +01:00
Gael Guennebaud
8d8acc3ab4
Move inner product special functions to a base class to avoid ambiguous calls
2013-12-04 22:58:19 +01:00
Gael Guennebaud
6c5e915e9a
Enable use of evaluators for noalias and lazyProduct, add conversion to scalar for inner products
2013-12-03 17:17:53 +01:00
Gael Guennebaud
f0b82c3ab9
Make reductions compatible with evaluators
2013-12-02 17:54:38 +01:00
Gael Guennebaud
6f1a0479b3
fix a typo triangular assignment
2013-12-02 17:54:15 +01:00
Gael Guennebaud
b5fd774775
Fix flags of Product<>
2013-12-02 17:53:26 +01:00
Gael Guennebaud
34ca81b1bf
Add direct assignment of products
2013-12-02 16:37:58 +01:00
Gael Guennebaud
7f917807c6
Fix product evaluator when TEST_EVALUATOR in not ON
2013-12-02 16:19:14 +01:00
Gael Guennebaud
8af1ba5346
Make swap unit test work with evaluators
2013-12-02 15:07:45 +01:00
Gael Guennebaud
c6f7337032
Get rid of call_dense_swap_loop
2013-12-02 14:44:13 +01:00
Gael Guennebaud
626821b0e3
Add evaluator/assignment to TriangularView expressions
2013-12-02 14:06:17 +01:00
Gael Guennebaud
27ca9437a1
Fix usage of Dense versus DenseShape
2013-12-02 14:05:34 +01:00
Gael Guennebaud
d0261bd26c
Fix swap in DenseBase
2013-11-30 10:42:23 +01:00
Christoph Hertzberg
d61345f366
Fix bug #609 : Euler angles are in Range [0:pi]x[-pi:pi]x[-pi:pi].
...
Now the unit test verifies this (also that it is bijective in this range).
2013-11-29 19:42:11 +01:00
Gael Guennebaud
c15c65990f
First step toward the generalization of evaluators to triangular, sparse and other fancyness.
...
Remove product_tag template parameter to Product.
2013-11-29 17:50:59 +01:00
Gael Guennebaud
fb6e32a62f
Get rid of evalautor_impl
2013-11-29 16:45:47 +01:00
Gael Guennebaud
d331def6cc
add definition of product_tag
2013-11-29 16:18:22 +01:00
Gael Guennebaud
5584275325
Remove HasEvalTo and all at once eval mode
2013-11-29 13:38:59 +01:00
Gael Guennebaud
cc6dd878ee
Refactor dense product evaluators
2013-11-27 17:32:57 +01:00
Gael Guennebaud
fc6ecebc69
Simplify evaluator of EvalToTemp
2013-11-27 11:32:07 +01:00
Gael Guennebaud
49034d1570
Fix bug #708 : add placement new/delete for array
2013-11-27 09:46:59 +01:00
Gael Guennebaud
230f5c3aa9
Evaluator: introduce the main Assignment class, add call_assignment to bypass NoAlias and AssumeAliasing, and some bits of cleaning
2013-11-25 15:20:31 +01:00
Gael Guennebaud
28b2abdbea
Fix FullPivHouseholderQR ctors for non squared fixed size matrix types
2013-11-19 12:53:46 +01:00
Gael Guennebaud
654eab3bd6
Add scaling in JacobiSVD to avoid overflows
2013-11-19 11:53:48 +01:00
Gael Guennebaud
46dd1bb1be
Workaround fixing aliasing issue in x = SparseLU::solve(x)
2013-11-15 11:19:19 +01:00
Gael Guennebaud
6b471f205e
fix overflow and ambiguity in SparseLU memory allocation
2013-11-15 10:59:19 +01:00
Christoph Hertzberg
e59b38abef
Implement boolean reductions for zero-sized objects
2013-11-13 16:47:02 +01:00
Gael Guennebaud
8f2d068e84
Use the specialization of Block<SparseMatrix> for const matrices too
2013-11-10 16:16:50 +01:00
Gael Guennebaud
5c2d1b4710
Add missing nonZeros() overload in Block<SparseMatrixBase<>>
2013-11-10 15:26:07 +01:00
Leszek Swirski
b93520b1a5
Install functor folder with cmake
2013-11-08 14:07:11 +00:00
Gael Guennebaud
cb8da751a0
fix broken commit
2013-11-07 22:44:37 +01:00
Gael Guennebaud
76c230a84d
Add an option to test evaluators globally
2013-11-07 16:38:14 +01:00
Gael Guennebaud
57327cc2d5
Drop evaluators for SwapWrapper and SelfCwiseBinaryOp
2013-11-07 14:07:27 +01:00
Gael Guennebaud
5887e82729
Clean evaluator_impl_base. It will probably be removed in the future
2013-11-07 14:02:47 +01:00
Gael Guennebaud
af9851d1d7
bug #99 : move the creation of the evaluator to a central place, and make generic_dense_assignment_kernel hold the destination and source evaluators
2013-11-07 12:03:12 +01:00
Gael Guennebaud
8fe609311d
Move internal::swap to numext to fix ambiguous call with std::swap
2013-11-07 09:01:26 +01:00
Gael Guennebaud
8edc964734
bug #99 : refactor assignment and compound assignment mechanism through "assignment functors" and "assignement kernels".
...
The former is very low level and generic. The later abstarct the former for dense expressions. This refactoring permits
to get rid of the very ugly SwapWrapper and SelfCwiseBinaryOp classes.
In the future, this will also permit to simplify all these evaluation loops and perhaps to reuse them for reduxions.
That will also permit to specialize for operations like expr1 += expr2 outside Eigen, and so for any kind
of expressions (dense, sparse, tensor, etc.)
2013-11-06 18:17:59 +01:00
Gael Guennebaud
a37bdfc955
Fix static/inline order
2013-11-06 11:13:31 +01:00
Gael Guennebaud
03de5c2410
Split the huge Functors.h file
2013-11-06 10:36:10 +01:00
Gael Guennebaud
4f572e4c14
Add minimalistic unit tests for NVCC support
2013-11-05 15:41:45 +01:00
Gael Guennebaud
87aee5fda1
Allow calling attributes of dynamic size objects from device
2013-11-05 15:40:58 +01:00
Gael Guennebaud
1bb1a57ef7
merge with default branch
2013-11-05 10:31:59 +01:00
Gael Guennebaud
7c9cdd6030
SparseLU: fix estimated non-zeros in U
2013-11-05 00:12:14 +01:00
Gael Guennebaud
a236e15048
JacobiSVD: fix a 0/0 issue for complexes
2013-11-04 23:58:18 +01:00
Gael Guennebaud
019dcfc21d
JacobiSVD: move from Lapack to Matlab strategy for the default threshold
2013-11-03 13:18:56 +01:00
Gael Guennebaud
19521c83b8
bug #677 : fix usage of pld instrinsics for ccomplexes
2013-11-02 12:10:48 +01:00
Gael Guennebaud
bbd49d194a
Add a rank method with threshold control to JacobiSVD, and make solve uses it to return the minimal norm solution for rank-deficient problems
2013-11-01 18:21:46 +01:00
Gael Guennebaud
8f496cd3a3
Fix changeset 2702788da7
...
for fixed size matrices
2013-11-01 18:17:55 +01:00
Gael Guennebaud
6dc0e59b1e
Fix bug #677 : compilation issue on arm64 which does not have the PLD instruction
2013-10-31 13:52:43 +01:00
Gael Guennebaud
2702788da7
Fix bug #678 : vectors of row and columns transpositions were not properly resized in FullPivQR
2013-10-29 18:02:18 +01:00
Gael Guennebaud
58c0a6f0fd
Fix unused variable warnings
2013-10-29 17:51:19 +01:00
Christoph Hertzberg
7fae9b358d
Use aligned loads in Matrix-Vector product where possible. Fixes bug #689
2013-10-29 12:42:46 +01:00
Gael Guennebaud
e14f529dac
Merged in martinhofernandes/eigen (pull request PR-33)
...
Fix for bug #503
2013-10-29 11:39:20 +01:00
Gael Guennebaud
90b5d303db
Fix bug #672 : use exceptions in SuperLU if they are enabled only
2013-10-29 11:26:52 +01:00
Gael Guennebaud
9b863c1830
Merged in vanhoucke/eigen_vanhoucke_unused_variable (pull request PR-34)
...
Silence unused variable warning.
2013-10-29 11:04:47 +01:00
Gael Guennebaud
11fbbc51fa
Fix bug #359 : fix AlignedBit flag of CoeffBasedProduct thus enabling the vectorization of more matrix products
2013-10-28 17:48:32 +01:00
Gael Guennebaud
d3e84b747a
Clarify the meaning of AlignedBit (bug #359 )
2013-10-28 17:44:07 +01:00
Gael Guennebaud
2e606394b1
Fix bug #685 : document the range of Random and setRandom
2013-10-28 17:16:03 +01:00
Gael Guennebaud
285112fc55
Fix bug #688 : make it clearer that CG is for both dense and sparse matrices.
2013-10-28 15:56:30 +01:00
Gael Guennebaud
9f3f42d66a
fix a few "dead stores" warnings
2013-10-26 13:59:02 +02:00
Gael Guennebaud
a0e8577b49
Fix bug #684 : optimize vectorization of array-scalar and scalar-array
2013-10-18 14:56:36 +02:00
Christoph Hertzberg
36052c4911
Added comparisons scalar to array (previously only the array to scalar was possible) (Fixes bug #147 )
...
Extended the unit test for that
2013-10-17 15:37:29 +02:00
Christoph Hertzberg
3d2a3bc755
Copy all format flags (not only precision) from actual output stream when calculating the maximal width
2013-10-17 14:30:09 +02:00
Christoph Hertzberg
ad9dc05663
consider all columns for aligned output (fixes bug #616 )
2013-10-17 14:14:06 +02:00
Christoph Hertzberg
ff075def5c
Copy and paste mistake in last commit
2013-10-17 14:02:00 +02:00
Christoph Hertzberg
4d7dfafbe7
Don't add rowSpacer if columns are not to be aligned
2013-10-17 13:49:56 +02:00
Christoph Hertzberg
3390db099a
Fixes bug #681
...
Also fixed some spelling issues in the documentation
2013-10-17 00:03:00 +02:00
Gael Guennebaud
c6da881849
Fix bug #674 : typo in documentation example for BiCGSTAB. They are now proper snippet files.
2013-10-16 15:25:39 +02:00
Christoph Hertzberg
b61facb08b
Use != instead of < to check for emptiness of iterator range (fixes bug #664 )
2013-10-16 13:10:15 +02:00
Christoph Hertzberg
4a42843513
Make index type of Triplet default to SparseMatrix::Index as suggested by Kolja Brix. Fixes bug #665 .
2013-10-16 13:08:09 +02:00
Gael Guennebaud
b433fb2857
Allow .conservativeResize(rows,cols) on vectors
2013-10-16 12:07:33 +02:00
Christoph Hertzberg
0bce534c8f
Fix bug #679
2013-10-15 19:09:09 +02:00
vanhoucke
3736e00ae7
Silence unused variable warning.
2013-10-04 00:21:03 +00:00
Gael Guennebaud
40f1548b32
Sparse is stable now, so Eigen/Eigen should include Sparse
2013-10-02 23:31:59 +02:00
Desire NUENTSA
54e576c88a
Fix SPQR Solve() when assigning to a Map object
2013-09-26 15:00:22 +02:00
Desire NUENTSA
fe19f972e1
Fix leaked memory for successive calls to SPQR
2013-09-24 15:56:56 +02:00
Gael Guennebaud
00dc45d0f9
Reduce explicit zeros when applying SparseQR's matrix Q
2013-09-20 23:28:10 +02:00
Desire NUENTSA
4bb1c48f25
Add a block sparse matrix class. tests to be added
2013-09-20 18:54:17 +02:00
Desire NUENTSA
bd21c82a94
Fix assert bug in sparseQR
2013-09-20 18:49:32 +02:00
Gael Guennebaud
1b4623e713
Fix elimination tree and SparseQR with rows<cols
2013-09-12 22:16:35 +02:00
Martinho Fernandes
a1f056cf2a
Fix bug #503
...
C++11 support on simple allocators comes for free. `aligned_allocator` does not
need to add any `construct` overloads to work with C++11 compilers.
2013-09-10 17:08:04 +02:00
Gael Guennebaud
4612a1cd87
Fix ploaddup and lin-spaced with AltiVec.
2013-09-10 16:13:59 +02:00
Gael Guennebaud
07417bd03f
Fix bug #654 : allow implicit transposition in Array to Matrix and Matrix to Array constructors
2013-09-07 00:01:04 +02:00
Gael Guennebaud
7fa007e8bf
Fix sparse block
2013-09-07 00:00:13 +02:00
Gael Guennebaud
ed78a76161
Merged in advanpix/eigen-mp-devs (pull request PR-32)
...
Fixes for SparseMatrix to support non-POD scalar types
2013-09-03 22:05:14 +02:00
Gael Guennebaud
eda2f8948a
Another compilation fix with ICC/MSVC combo
2013-09-03 21:42:59 +02:00
Hauke Heibel
69c057ccb1
Fixed InnerPanel definition in the Transformation class.
...
Added some inital documentation on InnerPanel.
2013-08-27 14:54:57 +02:00
Gael Guennebaud
94a7a1ec00
Use unblocked version if the matrix is too small, plus some cleaning.
2013-08-27 13:47:15 +02:00
Gael Guennebaud
5864e3fbd5
Implement a blocked upper-bidiagonalization algorithm. The computeUnblocked function is currently for benchmarking purpose.
2013-08-27 07:23:31 +02:00
Pavel Holoborodko
41321e4366
Replaced memcpy & memmove to smart_* alternatives for non-POD scalar types
2013-08-25 18:12:15 +09:00
Pavel Holoborodko
e6462c2ce3
Switched to smart_copy to support non-trivial scalar types
2013-08-25 18:03:49 +09:00
Pavel Holoborodko
1472f4bc61
Fixed bug #647 by using smart_copy instead of bitwise memcpy.
2013-08-25 18:02:07 +09:00
Pavel Holoborodko
a147500dee
Added smart_memmove with support of non-POD scalars (e.g. needed in SparseBlock.h).
2013-08-25 18:00:28 +09:00