Benoit Steiner
c8c81c1e74
Improved the efficiency if the block-panel matrix multiplication code: the change reduces the pressure on the L1 cache by removing the calls to gebp_traits::unpackRhs(). Instead the packetization of the rhs blocks is done on the fly in gebp_traits::loadRhs(). This adds numerous calls to pset1<ResPacket> (since we're packetizing on the fly in the inner loop) but this is more than compensated by the fact that we're decreasing the memory transfers by a factor RhsPacketSize.
2014-01-02 16:18:32 -08:00
Christoph Hertzberg
60cd361ebe
Fix bug #222 . Make temporary matrix column-major independently of EIGEN_DEFAULT_TO_ROW_MAJOR
2014-03-26 17:48:30 +01:00
Gael Guennebaud
c8bfbf4a7e
Merged in prclibo/eigen (pull request PR-49)
...
fixed a template type conversion bug in AngleAxis found by Pei Luo
2014-03-25 10:54:40 +01:00
Gael Guennebaud
01fd880424
Revert previous change and introduce a new workaround regarding gcc generating a shufps instruction instead of the more efficient pshufd instruction.
...
The trick consists in introducing a new pload1 function to be used in low level product kernels for which bug #203 does not apply.
Indeed, it turned out that using inline assembly prevents gcc of doing a good job at instructtion reordering.
2014-03-20 16:03:46 +01:00
Bo Li
e3fb190edf
merged incoming udpates
2014-03-20 22:11:13 +08:00
Bo Li
cfd3d6ce9c
fixed a template type conversion bug in AngleAxis found by Pei Luo
2014-03-20 22:05:40 +08:00
Gael Guennebaud
c39a3fa7a1
Makes gcc to generate a pshufd instruction for pset1
2014-03-20 10:14:26 +01:00
Gael Guennebaud
2a564695f0
Simpler and hopefully more future-proof fix for bug #503 (aligned_allocator with c++11)
2014-03-19 13:28:50 +01:00
Christoph Hertzberg
35a2c9cde7
clang does not accept this without template keyword
2014-03-14 16:48:29 +01:00
Gael Guennebaud
bb4b67cf39
Relax Ref such that Ref<MatrixXf> accepts a RowVectorXf which can be seen as a degenerate MatrixXf(1,N)
2014-03-13 18:04:19 +01:00
Christoph Hertzberg
2db792852f
Silence stupid parenthesis warnings for old GCC versions (<= 4.6.x)
2014-03-13 12:58:57 +01:00
Christoph Hertzberg
2379ccffcb
bug #755 : CommaInitializer produced wrong assertions in absence of ReturnValueOptimization.
2014-03-12 13:48:09 +01:00
Christoph Hertzberg
88aa18df64
bug #759 : Removed hard-coded double-math from Quaternion::angularDistance.
...
Some documentation improvements
2014-03-12 13:43:19 +01:00
Christoph Hertzberg
bbc0ada12a
Avoid stupid "enumeral mismatch in conditional expression" warnings in GCC
2014-03-11 12:18:32 +01:00
Abraham Bachrach
804ef2350d
Move the Base typedef's from private to public scope
...
Move the Quaternion::Base typedef from private to public scope so that one may
create child classes of Quaternion.
NOTE: This matches the semantics of MatrixBase.
2014-03-09 16:56:44 -07:00
Benoit Steiner
ce99b502ce
Use vectorization when packing row-major rhs matrices. (bug #717 )
2013-12-17 10:49:43 -08:00
Gael Guennebaud
ba2f79e680
Fix selfadjoint_matrix_vector_product for complex with packet size > 2 (e.g., AVX)
2014-03-07 23:18:20 +01:00
Gael Guennebaud
72461be962
Fix typo and formating
2014-03-07 23:13:14 +01:00
Christoph Hertzberg
d5cc083782
Fixed bug #754 . Only inserted (!defined(_WIN32_WCE)) analog to alloc and free implementation (not tested, but should be correct).
2014-03-05 14:50:00 +01:00
Gael Guennebaud
7313f32efa
Help MSVC to inline some trivial functions
2014-03-04 17:24:00 +01:00
Christoph Hertzberg
04e1e38eed
bug #289 : Removed useless static keywords
2014-03-04 15:10:29 +01:00
Gael Guennebaud
76d2ca27e5
Fix PaStiX support for Pastix 5.2
2014-02-28 13:11:39 +01:00
Gael Guennebaud
ac69d8769f
Remove early termination in LDLT: the zero on the diagonal of the input matrix does not mean the matrix is not full rank. Typical examples are matrices coming from LS with linear equality constraints.
2014-02-26 10:12:27 +01:00
Christoph Hertzberg
6b6071866b
Make pivoting HouseholderQR compatible with custom scalar types
2014-02-25 18:55:16 +01:00
Gael Guennebaud
9fdc6258cf
Implement bug #317 : use a template function call to suppress unused variable warnings. This also fix the issue of the previous changeset in a much nicer way.
2014-02-24 18:13:49 +01:00
Gael Guennebaud
21fecd5252
Workaround clang ABI change with unsed arguments (ugly fix)
2014-02-24 17:12:17 +01:00
Christoph Hertzberg
3e439889e0
Specify what non-resizeable objects are in transposeInPlace and adjointInPlace (cf bug #749 )
2014-02-24 13:12:10 +01:00
Gael Guennebaud
5960befc20
More int versus Index fixes
2014-02-19 21:42:29 +01:00
Gael Guennebaud
37a1d736bf
_MatrixTypeNested must be public in sparse Block
2014-02-18 13:35:24 +01:00
Gael Guennebaud
3573a10712
Fix support for row (resp. column) of a column-major (resp. row-major) sparse matrix
2014-02-17 13:46:17 +01:00
Gael Guennebaud
4b6b3f310f
Fix a few Index to int buggy conversions
2014-02-15 09:35:23 +01:00
Gael Guennebaud
cd606bbc94
Fix infinite loop in sparselu
2014-02-14 23:10:16 +01:00
Gael Guennebaud
0508af4287
Merged in martinhofernandes/eigen (pull request PR-40)
...
Better fix for bug #503
2014-02-14 15:31:39 +01:00
Gael Guennebaud
97965dde9b
alloca is not necessarily alligned on windows
2014-02-14 00:04:38 +01:00
Gael Guennebaud
0b1430ae10
Fix propagation of index type
2014-02-13 23:58:28 +01:00
Gael Guennebaud
3291580630
Fix bug #740 : overflow issue in stableNorm
2014-02-13 15:44:01 +01:00
Jitse Niesen
7ea6ef8969
Fix documentation of MatrixBase::applyOnTheLeft (bug #739 )
...
Add examples; move methods from EigenBase.h to MatrixBase.h
2014-02-12 14:03:39 +00:00
Gael Guennebaud
31c63ef0b4
fix compilation of Transform * UniformScaling
2014-02-12 13:37:23 +01:00
Jitse Niesen
ff8d81762d
Fix bug #736 : LDLT isPositive returns false for a positive semidefinite matrix
...
Add unit test covering this case.
2014-02-06 11:06:06 +00:00
Hauke Heibel
6c527bd811
Fixed assignment from QMatrix to Transform for compact storage.
2014-02-04 07:02:34 +01:00
Gael Guennebaud
a7621809fe
Remove useless register keyword, and optimize predux_min/max for SSE4
2014-01-25 16:54:13 +01:00
Gael Guennebaud
deab937d45
NVCC: fix closed-form eigenvalue decomposition, workaround gcc4.7/nvcc5.5 issue
2014-01-24 12:50:29 +01:00
Christoph Hertzberg
66f1c56aab
sparse_solve_retval_base::defaultEvalTo created extremely oversized temporary matrices in some cases
2014-01-19 03:04:51 +01:00
Martinho Fernandes
4c08385b74
Merged eigen/eigen into default
2014-01-10 11:22:24 +01:00
Martinho Fernandes
4ccff2d028
Placement new must use void* to avoid user-specific overloads.
2014-01-10 11:20:40 +01:00
Martinho Fernandes
3a4616d6e3
Add C++11 allocator overloads to avoid implicit conversions.
2014-01-10 11:02:11 +01:00
Gael Guennebaud
92190a1caf
Add an example showing how to use C++11 random distributions
2014-01-07 20:23:35 +01:00
Gael Guennebaud
ac409f51f1
Document the fact that Random and setRandom are not reentrant (so not thread-safe)
2014-01-07 20:17:59 +01:00
Jitse Niesen
a58325ac2f
Minor corrections in QR docs.
2013-12-31 18:06:28 +00:00
Gael Guennebaud
548216b7ca
QuaternionBase::slerp was documented twice and one explanation was ambiguous.
2014-01-12 11:09:06 +01:00