Benoit Steiner
1b333c89c9
Updated my previous fix to avoid introducing a compilation warning on ARM platforms.
2014-04-10 17:43:13 -07:00
Benoit Steiner
a1fcf599fa
Silenced a compilation warning produced by nvcc.
2014-04-10 11:19:37 -07:00
Jitse Niesen
a91a7a1964
doc: Add references to Cholesky methods in SelfAdjointView.
2014-04-07 14:14:48 +01:00
Benoit Steiner
b446ff037e
Deleted some dead code.
2014-04-04 14:12:24 -07:00
Christoph Hertzberg
096af59799
Fix bug #784 : Assert if assigning a product to a triangularView does not match the size.
2014-04-04 17:48:37 +02:00
Benoit Steiner
8044b00a7f
bug #782 : Workaround for gcc <= 4.4 compilation error on the NEON PacketMath code.
2014-04-03 23:41:47 +02:00
Gael Guennebaud
8d0441052e
Finally, prefetching seems to help getting more stable performance
2014-03-31 10:42:19 +02:00
Gael Guennebaud
1c0728043a
Workaround alignment warnings
2014-03-30 22:43:47 +02:00
Gael Guennebaud
e497a27ddc
Optimize gebp kernel:
...
1 - increase peeling level along the depth dimention (+5% for large matrices, i.e., >1000)
2 - improve pipelining when dealing with latest rows of the lhs
2014-03-30 21:57:05 +02:00
Benoit Steiner
ad59ade116
Vectorized the loop peeling of the inner loop of the block-panel matrix multiplication code. This speeds up the multiplication of matrices which size is not a multiple of the packet size.
2014-03-28 12:11:23 -07:00
Gael Guennebaud
10aa14592a
Add a mechanism to recursively access to half-size packet types
2014-03-28 10:18:04 +01:00
Gael Guennebaud
8d2bb2c20d
merge with default branch
2014-03-28 09:24:18 +01:00
Gael Guennebaud
c94fde118a
Enable vectorization of gemv for PacketSize>4 through unaligned loads (still better than no vectorization)
2014-03-28 09:11:06 +01:00
Benoit Steiner
51e85c936d
Merged latest changes from parent.
2014-03-27 18:32:15 -07:00
Benoit Steiner
8a94cb3edd
Implemented the SSE version of the gather and scatter packet primitives.
2014-03-27 18:29:01 -07:00
Benoit Steiner
7f3162f707
Implemented the AVX version of the gather and scatter packet primitives.
2014-03-27 17:42:25 -07:00
Benoit Steiner
ee86679096
Introduced pscatter/pgather packet primitives. They will be used to optimize the loop peeling code of the block-panel matrix multiplication kernel.
2014-03-27 16:03:03 -07:00
Gael Guennebaud
58fe2fc2b2
enforce the use of vfmadd231ps for pmadd (gcc and clang stupidely generates the other fmadd variants plus some register moves...)
2014-03-27 23:38:50 +01:00
Benoit Steiner
729363114f
Fixed compilation error when FMA instructions are enabled.
2014-03-27 11:20:41 -07:00
Benoit Steiner
1697d7a179
Silenced "unused variable" warnings when compiling with FMA.
2014-03-27 11:00:47 -07:00
Benoit Steiner
3e1fe8e416
Vectorized the packing of a col-major matrix used as the right hand side argument in a matrix-matrix product when AVX instructions are used. No vectorization takes place when SSE instructions are used, however this doesn't seem to impact performance.
2014-03-27 10:38:41 -07:00
Benoit Steiner
b776458ccb
Vectorized the packing of a row-major matrix used as the left hand side argument in a matrix-matrix product.
2014-03-27 10:02:24 -07:00
Benoit Steiner
c4902a3d01
Implemented the AVX version of the ptranspose packet primitive.
2014-03-27 09:34:51 -07:00
Gael Guennebaud
052aedd394
Implement pcplflip, palign, predux and the likes from AVC/complexes
2014-03-27 14:47:00 +01:00
Gael Guennebaud
fb03b56647
Fix warning
2014-03-27 11:38:35 +01:00
Mark Borgerding
9ce0d78513
immintrin.h did not come until intel version 11
2014-03-26 22:26:07 -04:00
Benoit Steiner
a419cea4a0
Created the ptranspose packet primitive that can transpose an array of N packets, where N is the number of words in each packet. This primitive will be used to complete the vectorization of the gemm_pack_lhs and gemm_pack_rhs functions.
...
Implemented the primitive using SSE instructions.
2014-03-26 19:03:07 -07:00
Benoit Steiner
14bc4b9704
Made sure that the version of gemm_pack_rhs specialized for row major matrices is vectorized when nr == 2*PacketSize (which is the case for SSE when compiling in 64bit mode).
2014-03-26 17:35:18 -07:00
Benoit Steiner
e45a6bed45
Specialized the pload1 packet primitive for Packet8f and Packet4d in order to take advantage of the vbroadcastss and vbroadcastsd instructions whenever possible.
2014-03-26 15:58:13 -07:00
Benoit Steiner
cc73164aa8
Merged latest updates from the parent branch
2014-03-26 15:23:59 -07:00
Gael Guennebaud
f0a4c9d5ab
Update gebp kernel to process a panle of 4 columns at once for the remaining ones.
2014-03-26 23:22:36 +01:00
Gael Guennebaud
8be011e776
Remove remaining bits of the dead working buffer
2014-03-26 23:14:44 +01:00
Benoit Steiner
a078f442a3
Vectorized the multiplication and division of complex numbers using AVX instructions.
2014-03-26 15:11:18 -07:00
Benoit Steiner
cf1a7bfbe1
Used AVX instructions to vectorize the complex version of the pfirst and ploaddup packet primitives.
...
Silenced a few compilation warnings.
2014-03-26 12:03:31 -07:00
Gael Guennebaud
bc401eb6fa
Implement new 1 packet x 8 gebp kernel
2014-03-26 18:53:00 +01:00
Gael Guennebaud
b286a1e75c
add pbroadcast2/4 generic intrinsics
2014-03-26 16:46:36 +01:00
Benoit Steiner
6bf3cc2732
Use AVX instructions to vectorize pset1<Packet2cd>, pset1<Packet4cf>, preverse<Packet2cd>, and preverse<Packet4cf>
2014-03-25 09:00:43 -07:00
Benoit Steiner
7ae9b0805d
Used AVX instructions to vectorize the predux_min<Packet8f>, predux_min<Packet4d>, predux_max<Packet8f>, and predux_max<Packet4d> packet primitives.
2014-03-24 13:33:40 -07:00
Benoit Steiner
72707a8664
Made sure that EIGEN_ALIGN is defined when EIGEN_DONT_VECTORIZE is set to true to prevent build failures when vectorization is disabled.
2014-03-21 11:40:29 -07:00
Benoit Steiner
8a0845ebd7
Merged latest changes from the parent
2014-03-18 12:58:08 -07: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
8eac97138a
Merged latest changes from the main trunk
2014-02-24 13:59:43 -08:00
Benoit Steiner
1dd176b0b0
Pulled latest changes from the Eigen main trunk
2014-02-24 13:56:01 -08:00
Benoit Steiner
131027ee0a
Merged eigen/eigen into default
2014-02-24 13:54:07 -08:00
Benoit Steiner
db7d49efbb
Added support for FMA instructions
2014-02-24 13:45:32 -08: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
Benoit Steiner
cbd7e98174
Merged the latest version of the code from eigen/eigen
2014-02-18 18:51:24 -08:00
Benoit Steiner
7ed9441ea4
Reverted the definition of the EIGEN_ALIGN to its former meaning (i.e. a boolean)
...
Created a new EIGEN_ALIGN_BYTES define to encode how the data should be aligned
Fixed a few remaining alignment issues exposed when the Eigen code is compiled with avx enabled.
Created a new EIGEN_ALIGN_DEFAULT define, which is set to the minimum alignment value required for the chosen instruction set. Use this value instead of EIGEN_ALIGN32 to preserve the existing alignment on SSE/Altivec/Neon.
2014-02-18 18:06:44 -08: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
Benoit Steiner
64a85800bd
Added support for AVX to Eigen.
2014-01-29 11:43:05 -08: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
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
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
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
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
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
49034d1570
Fix bug #708 : add placement new/delete for array
2013-11-27 09:46:59 +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
Gael Guennebaud
1b8394f71f
Fix compilation with ICC/MSVC combo
2013-08-21 15:28:53 +02:00
Gael Guennebaud
4ecfdc4716
Add explanations of the logic behind the matrix-vector products
2013-08-21 14:29:53 +02:00
Gael Guennebaud
d9381598bc
Allows EIGEN_STACK_ALLOCATION_LIMIT to be 0 for no limit
2013-08-21 14:29:00 +02:00
Gael Guennebaud
1c61e28b32
Fix indentation
2013-08-20 14:13:41 +02:00
Gael Guennebaud
c06e373beb
Fix compilation with non-msvc compilers.
2013-08-20 14:12:42 +02:00
Gael Guennebaud
7bca2910c7
Make the static assertions on maximal fixed size object use EIGEN_STACK_ALLOCATION_LIMIT, and raise its default value to 128KB
2013-08-20 13:59:33 +02:00
Gael Guennebaud
2cf513e973
Merged in advanpix/eigen-mp-devs (pull request PR-31)
...
Added support for custom scalars in SparseLU
2013-08-20 12:10:38 +02:00
Gael Guennebaud
150c9fe536
Make FullPivHouseholderQR::solve returns the least-square solution instead of aborting if no exact solution exist
2013-08-20 11:52:48 +02:00
Pavel Holoborodko
e4ffb7729a
Removed unnecessary parentheses
2013-08-20 16:06:13 +09:00
Pavel Holoborodko
d908ccc01c
Added support for custom scalars
2013-08-20 15:00:28 +09:00
Gael Guennebaud
2b15e00106
Make ArrayBase operator+=(scalar) and -=(scalar) use SelfCwiseBinaryOp optimization
2013-08-19 16:40:50 +02:00
Gael Guennebaud
127d7f2071
Fix bug #643 : enable vectorization of compound assignement for fixed size objects
2013-08-19 16:34:09 +02:00
Gael Guennebaud
c47010e3d2
typo
2013-08-19 16:10:00 +02:00
Gael Guennebaud
d4dd6aaed2
Fix bug #642 : add vectorization of sqrt for doubles, and make sqrt really safe if EIGEN_FAST_MATH is disabled
2013-08-19 16:02:27 +02:00
Jitse Niesen
d3635b08da
Merged in advanpix/eigen-mp-devs (pull request PR-30)
...
Added support for custom-scalars
2013-08-19 11:41:22 +01:00
Pavel Holoborodko
ebd6a7a46c
Added support for custom-scalars
2013-09-02 19:09:39 +09:00
Christoph Hertzberg
e0dbc2913a
Documentation of deprecated struct. Closing bug #426 .
2013-08-16 16:43:02 +02:00
Christoph Hertzberg
1d89554f1b
Deprecate boolean sum operator (bug #426 )
2013-08-13 14:54:09 +02:00
Gael Guennebaud
bffdc491b3
Fix cost evaluation of partial reduxions -> improve performance of vectorwise/replicate expressions involving partial reduxions
2013-08-11 19:21:43 +02:00
Gael Guennebaud
6719e56b5b
Ref<> objects must be nested by reference because they potentially store a temporary object
2013-08-11 17:52:43 +02:00
Hauke Heibel
e4acd6e2fd
Added copy constructor and assignment to DenseStorage.
...
Required by the standard even when its not used but elided.
Added a test for DenseStorage copying and assignment.
2013-08-10 19:13:46 +02:00
Hauke Heibel
8a89ba9275
Added alternative C++11 detection.
2013-08-10 19:11:03 +02:00
Hauke Heibel
097a105603
Disabled std::log1p on Cygwin.
2013-08-10 19:10:23 +02:00
Jitse Niesen
616f9cc593
doc: Explain type of result for VectorwiseOp member functions.
...
Prompted by a question on the forum.
2013-08-06 09:49:44 +01:00
Hauke Heibel
8710440951
Removed errornous swap for stack storage.
2013-08-03 10:09:31 +02:00
Hauke Heibel
51b361b3bb
Ensure that (potentially aligned) stack objects are passed by reference.
2013-08-02 21:07:39 +02:00
Hauke Heibel
7c99b38b7c
Added move support for Matrix and Array.
...
Added EIGEN_HAVE_RVALUE_REFERENCES define.
Added move unit tests.
Removed superfluous 'inline' declarations in DenseStorage.
2013-08-02 19:59:43 +02:00