Commit Graph

4430 Commits

Author SHA1 Message Date
Eugene Brevdo
cef81c9084 Merged eigen/eigen into default 2015-12-24 21:17:33 -08:00
Eugene Brevdo
f7362772e3 Add digamma for CPU + CUDA. Includes tests. 2015-12-24 21:15:38 -08:00
Gael Guennebaud
d2e288ae50 Workaround compilers that do not even define _mm256_set_m128. 2015-12-24 16:53:43 +01:00
Benoit Steiner
3504ae47ca Made it possible to run the lgamma, erf, and erfc functors on a CUDA gpu. 2015-12-21 15:20:06 -08:00
Benoit Steiner
a6c243617b Fixed a typo in previous change. 2015-12-21 09:05:45 -08:00
Benoit Steiner
51be91f15e Added support for CUDA architectures that don's support for 3.5 capabilities 2015-12-21 08:42:58 -08:00
Benoit Steiner
6d777e1bc7 Fixed a typo. 2015-12-18 19:25:50 -08:00
Gael Guennebaud
3abd8470ca bug #1140: remove custom definition and use of _mm256_setr_m128 2015-12-18 14:18:59 +01:00
Gael Guennebaud
9f9de1aaa9 bump to 3.3-beta1 2015-12-16 21:48:48 +01:00
Gael Guennebaud
ae8b217a01 Update doc to make it clear that only SuperLU 4.x is supported 2015-12-16 10:47:03 +01:00
Gael Guennebaud
140f3a02a8 Fix MKL wrapper for ComplexSchur 2015-12-11 23:31:21 +01:00
Gael Guennebaud
4483c0fdf6 Fix unused variable warning. 2015-12-11 23:29:53 +01:00
Gael Guennebaud
774dba87c8 merge 2015-12-11 23:28:44 +01:00
Gael Guennebaud
c884a8e7f4 merge 2015-12-11 23:07:33 +01:00
Gael Guennebaud
b60a8967f5 bug #1134: fix JacobiSVD pre-allocation
(grafted from f22036f5f8
)
2015-12-11 11:59:11 +01:00
Gael Guennebaud
ca39b1546e Merged in ebrevdo/eigen (pull request PR-148)
Add special functions to eigen: lgamma, erf, erfc.
2015-12-11 11:52:09 +01:00
Gael Guennebaud
82152f2ae6 bug #1132: add EIGEN_MAPBASE_PLUGIN 2015-12-11 11:43:49 +01:00
Gael Guennebaud
4519fd5d40 Fix MKL compilation issue 2015-12-11 11:11:38 +01:00
Gael Guennebaud
7385e6e2ef Remove useless explicit 2015-12-11 11:11:19 +01:00
Gael Guennebaud
bcb4f126a7 Fix compilation of PardisoSupport 2015-12-11 11:11:00 +01:00
Gael Guennebaud
30b5c4cd14 Remove useless "explicit", and fix inline/static order. 2015-12-11 10:59:39 +01:00
Gael Guennebaud
79c1e6d0a6 Fix compilation of MKL support. 2015-12-11 10:55:07 +01:00
Gael Guennebaud
c684a07eba merge 2015-12-11 10:06:38 +01:00
Benoit Steiner
b820b097b8 Created EIGEN_HAS_C99_MATH define as Gael suggested. 2015-12-10 13:52:05 -08:00
Gael Guennebaud
df6f54ff63 Fix storage order of PartialRedux 2015-12-10 22:24:58 +01:00
Mark Borgerding
22dd368ea0 sign(complex) compiles for GPU 2015-12-10 16:14:29 -05:00
Benoit Steiner
58e06447de Silence a compilation warning 2015-12-10 13:11:36 -08:00
Benoit Steiner
48877a6933 Only implement the lgamma, erf, and erfc functions when using a compiler compliant with the C99 specification. 2015-12-10 13:09:49 -08:00
Gael Guennebaud
7ad1aaec1d bug #1103: fix neon vectorization of pmul(Packet1cd,Packet1cd) 2015-12-10 16:06:33 +01:00
Benoit Steiner
53b196aa5f Simplified the implementation of lgamma, erf, and erfc 2015-12-08 14:17:34 -08:00
Benoit Steiner
e535450573 Cleanup 2015-12-08 14:06:39 -08:00
Benoit Steiner
b1ae39794c Simplified the code a bit 2015-12-07 16:46:35 -08:00
Benoit Steiner
73b68d4370 Fixed a couple of typos
Cleaned up the code a bit.
2015-12-07 16:38:48 -08:00
Eugene Brevdo
fa4f933c0f Add special functions to Eigen: lgamma, erf, erfc.
Includes CUDA support and unit tests.
2015-12-07 15:24:49 -08:00
Gael Guennebaud
ad3d68400e Add matrix-free solver example 2015-12-07 12:33:38 +01:00
Gael Guennebaud
b37036afce Implement wrapper for matrix-free iterative solvers 2015-12-07 12:23:22 +01:00
Benoit Steiner
e25e3a041b Added rsqrt() method to the Array class: this method computes the coefficient-wise inverse square root much more efficiently than calling sqrt().inverse(). 2015-12-03 18:16:35 -08:00
Benoit Steiner
c41e9e4bd0 Merged in Unril/eigen-1/Unril/fixes-internal-compiler-error-while-comp-1449156092576 (pull request PR-147)
Fixes internal compiler error while compiling with VC2015 Update1 x64.
2015-12-03 14:26:14 -08:00
Gael Guennebaud
1562e13aba Add missing Rotation2D::operator=(Matrix2x2) 2015-12-03 22:25:26 +01:00
Nikolay Fedorov
944647c0aa Fixes internal compiler error while compiling with VC2015 Update1 x64. 2015-12-03 15:21:43 +00:00
Benoit Steiner
d2d4c45d55 Made it possible to leverage several binary functor in a CUDA kernel
Explicitely specified the return type of the various scalar_cmp_op functors.
2015-12-02 17:21:33 -08:00
Gael Guennebaud
c5b86893e7 bug #1123: add missing documentation of angle() and axis() 2015-12-01 14:45:08 +01:00
Gael Guennebaud
0bb12fa614 Add LU::transpose().solve() and LU::adjoint().solve() API. 2015-12-01 14:38:47 +01:00
Rasmus Munk Larsen
1663d15da7 Add internal method _solve_impl_transposed() to LU decomposition classes that solves A^T x = b or A^* x = b. 2015-11-30 13:39:24 -08:00
Gael Guennebaud
6c02cbbb0f Fix matrix to quaternion (and angleaxis) conversion for matrix expression. 2015-12-01 09:45:56 +01:00
Gael Guennebaud
1d906d883d Fix degenerate cases in syrk and trsm 2015-11-30 22:20:31 +01:00
Gael Guennebaud
afa11d646d Fix UmfPackLU ctor for exppressions 2015-11-27 22:04:22 +01:00
Gael Guennebaud
6bdeb8cfbe bug #918, umfpack: add access to umfpack return code and parameters 2015-11-27 21:58:36 +01:00
Gael Guennebaud
3f32f5ec22 ArrayBase::sign: add unit test and fix doc 2015-11-27 16:27:53 +01:00
Gael Guennebaud
1261d020c3 bug #1120, superlu: mem_usage_t is now uniquely defined, so let's use it. 2015-11-27 10:39:09 +01:00
Gael Guennebaud
ca001d7c2a Big 1009, part 2/2: add static assertion on LinearAccessBit in coeff(index)-like methods. 2015-11-27 10:06:47 +01:00
Gael Guennebaud
91a7059459 bug #1009, part 1/2: make sure vector expressions expose LinearAccessBit flag. 2015-11-27 10:06:07 +01:00
Mark Borgerding
7ddcf97da7 added scalar_sign_op (both real,complex) 2015-11-24 17:15:07 -05:00
Gael Guennebaud
f9fff67a56 Disable "decorated name length exceeded, name was truncated" MSVC warning. 2015-11-23 15:03:24 +01:00
Gael Guennebaud
f3dca16a1d bug #1117: workaround unused-local-typedefs warning when EIGEN_NO_STATIC_ASSERT and NDEBUG are both defined. 2015-11-23 14:07:52 +01:00
Gael Guennebaud
82bd4e546a Merged in dr15jones/eigen (pull request PR-146)
Use a class constructor to initialize CPU cache sizes
2015-11-22 22:50:31 +01:00
Gael Guennebaud
35c17a3fc8 Use overload instead of template full specialization to please old MSVC 2015-11-22 22:09:57 +01:00
Gael Guennebaud
b265979a70 Make FullPivLU::solve use rank() instead of nonzeroPivots(). 2015-11-21 15:03:04 +01:00
Chris Jones
4946d758c9 Use a class constructor to initialize CPU cache sizes
Using a static instance of a class to initialize the values for
the CPU cache sizes guarantees thread-safe initialization of the
values when using C++11. Therefore under C++11 it is no longer
necessary to call Eigen::initParallel() before calling any eigen
functions on different threads.
2015-11-20 19:58:08 +01:00
Gael Guennebaud
027a846b34 Use .data() instead of &coeffRef(0). 2015-11-20 15:30:10 +01:00
Gael Guennebaud
4fc36079e7 Fix overload instantiation for clang 2015-11-20 15:29:03 +01:00
Gael Guennebaud
5c9c0dca4d Add missing using statement to enable fast Array<complex> / real operations. (was ok for Matrix only) 2015-11-20 14:51:36 +01:00
Gael Guennebaud
e1b27bcb0b Workaround MSVC missing overloads of std::fpclassify for integral types 2015-11-20 13:55:34 +01:00
Gael Guennebaud
e52d4f8d8d Add is_integral<> type traits 2015-11-20 13:54:28 +01:00
Benoit Steiner
7d1cedd0fe Added numeric limits for unsigned integers 2015-11-18 17:17:44 -08:00
Benoit Jacob
4926251f13 bug #1115: enable static alignment on ARM outside of old-GCC 2015-11-18 10:55:23 -05:00
Benoit Steiner
bf792f59e3 Only enable the use of constexpr with nvcc if we're using version 7.5 or above 2015-11-13 12:24:22 -08:00
Benoit Steiner
1e1755352d Made it possible to compute atan, tanh, sinh and cosh on GPU 2015-11-12 20:19:38 -08:00
Benoit Steiner
e4d45f3440 Only enable the use of const expression when nvcc is called with the -std=c++11 option 2015-11-12 18:18:35 -08:00
Benoit Steiner
8037826367 Simplified more of the IndexList code. 2015-11-12 17:19:45 -08:00
Gael Guennebaud
dfbb889fe9 Fix missing Dynamic versus HugeCost changes 2015-11-12 12:09:48 +01:00
Gael Guennebaud
e701cb2c7c Update EIGEN_FAST_MATH doc 2015-11-12 12:09:19 +01:00
Benoit Steiner
4f471146fb Allow the vectorized version of the Binary and the Nullary functors to run on GPU 2015-11-11 15:19:00 -08:00
Gael Guennebaud
e73ef4f25e bug #1109: use noexcept instead of throw for C++11 compilers 2015-12-10 14:21:23 +01:00
Gael Guennebaud
145ad5d800 Use more explicit names. 2015-12-10 12:03:38 +01:00
Gael Guennebaud
75f0fe3795 Fix usage of "Index" as a compile time integral. 2015-12-10 12:01:06 +01:00
Gael Guennebaud
f248249c1f bug #1113: fix name conflict with C99's "I". 2015-12-10 11:57:57 +01:00
Gael Guennebaud
fbe18d5507 Forbid the creation of SparseCompressedBase object 2015-12-09 15:47:32 +01:00
Gael Guennebaud
dc73430d4b bug #1074: forbid the creation of PlainObjectBase object by making its ctor protected 2015-12-09 15:47:08 +01:00
Gael Guennebaud
1257fbd2f9 Fix sign-unsigned issue in enum 2015-12-09 10:06:42 +01:00
Gael Guennebaud
4549549992 Fix and clarify documentation of Transform wrt operator*(MatrixBase) 2015-12-08 16:21:49 +01:00
Gael Guennebaud
543bd28a24 Fix Alignment in coeff-based product, and enable unaligned vectorization 2015-12-08 11:28:05 +01:00
Benoit Steiner
d27e4f1cba Added missing EIGEN_DEVICE_FUNC statements 2015-11-06 09:23:58 -08:00
Benoit Steiner
ed1962b464 Reimplement the tensor comparison operators by using the scalar_cmp_op functors. This makes them more cuda friendly. 2015-11-06 09:18:43 -08:00
Gael Guennebaud
bfd6ee64f3 bug #1105: fix default preallocation when moving from compressed to uncompressed mode 2015-11-06 15:05:37 +01:00
Gael Guennebaud
ae87f094eb Fix "," in non SSE4 mode 2015-11-05 12:08:36 +01:00
Gael Guennebaud
90323f1751 Fix AVX round/ceil/floor, and fix respective unit test 2015-11-04 22:15:57 +01:00
Gael Guennebaud
3dd24bdf99 Merged in aavenel/eigen (pull request PR-142)
Add round, ceil and floor for SSE4.1/AVX (Bug #70)
2015-11-04 18:26:38 +01:00
Gael Guennebaud
902750826b Add support for dense.cwiseProduct(sparse)
This also fixes a regression regarding (dense*sparse).diagonal()
2015-11-04 17:42:07 +01:00
Gael Guennebaud
f6b1deebab Fix compilation of sparse-triangular to dense assignment 2015-11-04 17:02:32 +01:00
Benoit Steiner
36cd6daaae Made the CUDA implementation of ploadt_ro compatible with cuda implementations older than 3.5 2015-11-03 16:36:30 -08:00
Gael Guennebaud
29a94c8055 compilation issue 2015-11-02 16:11:59 +01:00
Alexandre Avenel
38832e0791 Merge 2015-11-01 10:55:42 +01:00
Alexandre Avenel
d46e2c10a6 Add round, ceil and floor for SSE4.1/AVX (Bug #70) 2015-11-01 10:49:27 +01:00
Gael Guennebaud
c0352197a1 bug #1099: add missing incude for CUDA 2015-10-31 18:06:28 +01:00
Gael Guennebaud
b32948c642 bug #1102: fix multiple definition linking issue 2015-10-30 22:25:59 +01:00
Gael Guennebaud
ddaaa2d381 bug #1101: typo 2015-10-30 12:02:52 +01:00
Gael Guennebaud
0e6cb08f92 Fix shadow warning 2015-10-30 11:44:22 +01:00
Gael Guennebaud
27c56bf60f Workaround compilation issue with MSVC<=2013 2015-10-30 10:57:11 +01:00
Benoit Steiner
ac142773a7 Don't call internal::check_rows_cols_for_overflow twice in PlainObjectBase::resize since this is extremely expensive for small arrays 2015-10-29 13:13:39 -07:00
Gael Guennebaud
7cfbe35e49 Fix duplicated declaration 2015-10-29 21:05:52 +01:00
Gael Guennebaud
568d488a27 Fusion the two similar specialization of Sparse2Dense Assignment.
This change also fixes a compilation issue with MSVC<=2013.
2015-10-29 13:16:15 +01:00
Gael Guennebaud
7a5f83ca60 Add overloads for real times sparse<complex> operations.
This avoids real to complex conversions, and also fixes a compilation issue with MSVC.
2015-10-29 03:55:39 -07:00
Gael Guennebaud
c688cc28d6 fix copy/paste typo 2015-10-28 20:20:05 +01:00
Gael Guennebaud
6759a21e49 CUDA support: define more accurate min/max values for device::numeric_limits of float and double using values from cfloat header 2015-10-28 16:49:15 +01:00
Gael Guennebaud
28ddb5158d Enable std::isfinite/nan/inf on MSVC 2013 and newer and clang. Fix isinf for gcc4.4 and older msvc with fast-math. 2015-10-28 16:27:20 +01:00
Gael Guennebaud
8531304858 Simplify cost computations based on HugeCost being smaller that unrolling limit 2015-10-28 13:39:02 +01:00
Gael Guennebaud
77ff3386b7 Refactoring of the cost model:
- Dynamic is now an invalid value
 - introduce a HugeCost constant to be used for runtime-cost values or arbitrarily huge cost
 - add sanity checks for cost values: must be >=0 and not too large
This change provides several benefits:
 - it fixes shortcoming is some cost computation where the Dynamic case was not properly handled.
 - it simplifies cost computation logic, and should avoid future similar shortcomings.
 - it allows to distinguish between different level of dynamic/huge/infinite cost
 - it should enable further simplifications in the computation of costs (save compilation time)
2015-10-28 11:42:14 +01:00
Gael Guennebaud
e3031d7bfa bug #1008: improve handling of fast-math mode for older gcc versions. 2015-10-27 16:43:23 +01:00
Gael Guennebaud
2475a1de48 bug #1008: stabilize isfinite/isinf/isnan/hasNaN/allFinite functions for fast-math mode. 2015-10-27 15:39:50 +01:00
Gael Guennebaud
699c33e76a merge 2015-10-27 11:10:11 +01:00
Gael Guennebaud
8c66b6bc61 Simplify evaluator::Flags for Map<> 2015-10-27 11:06:42 +01:00
Gael Guennebaud
12f50a4697 Fix assign vectorization logic with respect to fixed outer-stride 2015-10-27 11:04:19 +01:00
Gael Guennebaud
73f692d16b Fix ambiguous instantiation 2015-10-27 11:01:37 +01:00
Gael Guennebaud
0fc8954282 Improve readibility of EIGEN_DEBUG_ASSIGN mode. 2015-10-27 10:38:49 +01:00
Gael Guennebaud
e6f8c5c325 Add support to directly evaluate the product of two sparse matrices within a dense matrix. 2015-10-26 18:20:00 +01:00
Gael Guennebaud
a5324a131f bug #1092: fix iterative solver ctors for expressions as input 2015-10-26 16:16:24 +01:00
Gael Guennebaud
f93654ae16 bug #1098: fix regression introduced when generalizing some compute() methods in changeset 7031a851d4
.
2015-10-26 16:00:25 +01:00
Gael Guennebaud
4704bdc9c0 Make the IterativeLinearSolvers module compatible with MPL2-only mode
by defaulting to COLAMDOrdering and NaturalOrdering for ILUT and ILLT respectively.
2015-10-26 15:17:52 +01:00
Gael Guennebaud
47d44c2f37 Add missing licence header to some top header files 2015-10-26 11:46:05 +01:00
Gael Guennebaud
8a211bb1a9 bug #1088: fix setIdenity for non-compressed sparse-matrix 2015-10-25 22:01:58 +01:00
Gael Guennebaud
ac6b2266b9 Fix SparseMatrix::insert/coeffRef for non-empty compressed matrix 2015-10-25 22:00:38 +01:00
nnyby
ccc7b0ffea [doc] grammar fix: "linearly space" -> "linearly spaced" 2015-10-01 23:43:06 +00:00
Gael Guennebaud
75a60d3ac0 bug #1075: fix AlignedBox::sample for runtime dimension 2015-09-30 11:44:02 +02:00
Gael Guennebaud
781e8c38bd merge 2015-09-29 11:12:43 +02:00
Gael Guennebaud
b2b8c1d41e Fix performance regression in sparse * dense product where "sparse" is an expression 2015-09-29 11:11:40 +02:00
Benoit Steiner
d46bacb6bb Call numext::mini instead of std::min in several places. 2015-09-28 10:40:41 -07:00
Gael Guennebaud
ceafed519f Add support for permutation * homogenous 2015-09-28 16:56:11 +02:00
Gael Guennebaud
02e940fc9f bug #1071: improve doc on lpNorm and add example for some operator norms 2015-09-28 11:55:36 +02:00
Gael Guennebaud
8c1ee3629f Add support for row/col-wise lpNorm() 2015-09-28 11:36:00 +02:00
Gael Guennebaud
75861f6650 bug #1069: fix AVX support on MSVC (use of non portable C-style cast) 2015-09-28 10:08:26 +02:00
Gael Guennebaud
d16797cfc0 Fix bug #1067: naming conflict 2015-09-19 21:44:14 +02:00
Gael Guennebaud
9d993c709b Fix typo in Vectowise::any() 2015-09-16 22:31:19 +02:00
daalpa
fab96f2ff3 Removed documentation that did not match the member function DenseBase::outerSize() 2015-09-13 12:55:57 +00:00
Christoph Hertzberg
d6f762d955 Fixed cuda code: EIGEN_DEVICE_FUNC must come after template<...> 2015-09-10 11:46:27 +02:00
Benoit Steiner
98f8f0db9a Added support for predux_mul for CUDA devices 2015-09-08 15:37:25 -07:00
Christoph Hertzberg
e3f69eb60d Fixed minor regression caused by 7031a851d4 2015-09-08 10:53:10 +02:00
Gael Guennebaud
73a86cfcd3 Add EIGEN_QUATERNION_PLUGIN 2015-09-07 11:12:30 +02:00
Gael Guennebaud
7031a851d4 Generalize matrix ctor and compute() method of dense decomposition to 1) limit temporaries, 2) forward expressions to nested decompositions, 3) fix ambiguous ctor instanciation for square decomposition 2015-09-07 10:42:04 +02:00
Gael Guennebaud
f9303cc7c5 bump to 3.3-alpha1 2015-09-04 17:26:36 +02:00
Gael Guennebaud
b20a55a608 Workaround wrong instanciation made by VS2010 2015-09-04 15:25:58 +02:00
Gael Guennebaud
ed265258e4 Fix returned index type of inner iterators of sparse blocks. 2015-09-03 15:07:35 +02:00
Gael Guennebaud
a835dfca73 InnerIterator::index() should really return a StorageIndex 2015-09-03 14:53:51 +02:00
Gael Guennebaud
941a99ac1a Add a few missing EIGEN_DEVICE_FUNC declarations 2015-09-03 14:14:54 +02:00
Sergiu Dotenco
85afb61417 use explicit Scalar types for AngleAxis initialization
(grafted from 89a222ce50
)
2015-08-28 22:20:15 +02:00
Gael Guennebaud
0eb46508e2 Avoid any openmp calls if multi-threading is explicitely disabled at runtime. 2015-10-22 16:30:28 +02:00
Gael Guennebaud
6df8e99470 bug #1089: add a warning when using a MatrixBase method which is implemented within another module by declaring them inline. 2015-10-22 16:10:28 +02:00
Gael Guennebaud
e78bc111f1 bug #1090: fix a shortcoming in redux logic for which slice-vectorization plus unrolling might happen. 2015-10-21 20:58:33 +02:00
Gael Guennebaud
8afd0ce955 add FIXME 2015-10-21 13:48:15 +02:00
Gael Guennebaud
8961265889 bug #1064: add support for Ref<SparseVector> 2015-10-21 09:47:43 +02:00
Gael Guennebaud
fe630c9873 Improve numerical accuracy in LLT and triangular solve by using true scalar divisions (instead of x * (1/y)) 2015-10-18 22:15:01 +02:00
Gael Guennebaud
c0adf6e38d Fix perm*sparse return type and nesting, and add several sanity checks for perm*sparse 2015-10-14 10:16:48 +02:00
Gael Guennebaud
527fc4bc86 Fix ambiguous instantiation issues of product_evaluator. 2015-10-14 10:14:47 +02:00
Gael Guennebaud
2598f3987e Add a plain_object_eval<> helper returning a plain object type based on evaluator's Flags,
and base nested_eval on it.
2015-10-14 10:12:58 +02:00
Gael Guennebaud
b4c79ee1d3 Update custom setFromTripplets API to allow passing a functor object, and add a collapseDuplicates method to cleanup the API. Also add respective unit test 2015-10-13 11:30:41 +02:00
Calixte Denizet
b9d81c9150 Add a functor to setFromTriplets to handle duplicated entries 2015-10-06 13:29:41 +02:00
Gael Guennebaud
9acfc7c4f3 remove reference to internal method 2015-10-13 10:55:58 +02:00
Gael Guennebaud
a44d91a0b2 extend unit test for SparseMatrix::prune 2015-10-13 10:53:38 +02:00
Gael Guennebaud
252e89b11b bug #1086: replace deprecated UF_long by SuiteSparse_long 2015-10-12 16:20:12 +02:00
Gael Guennebaud
6407e367ee Add missing epxlicit keyword, and fix regression in DynamicSparseMatrix 2015-10-12 09:49:05 +02:00
Gael Guennebaud
63e29e7765 Workaround ICC issue with first_aligned 2015-10-11 22:47:28 +02:00
Gael Guennebaud
6163db814c bug #1085: workaround gcc default ABI issue 2015-10-10 22:38:55 +02:00
Gael Guennebaud
6536b4bad7 Implement temporary-free path for "D.nolias() ?= C + A*B". (I thought it was already implemented) 2015-10-09 15:28:09 +02:00
Gael Guennebaud
a4cc4c1e5e Clarify note in nested_eval for evaluator creating temporaries. 2015-10-09 14:57:51 +02:00
Gael Guennebaud
ae38910693 The evalautor of Solve was missing the EvalBeforeNestingBit flag. 2015-10-09 14:57:19 +02:00
Gael Guennebaud
2632b3446c Improve documentation of TriangularView. 2015-10-09 12:10:58 +02:00
Gael Guennebaud
1429daf850 Add lvalue check for TriangularView::swap, and fix deprecated TriangularView::lazyAssign 2015-10-09 12:10:48 +02:00
Gael Guennebaud
72bd05b6d8 Cleaning in Redux.h 2015-10-09 12:07:42 +02:00
Gael Guennebaud
041e038fef Remove dead code in selfadjoint_matrix_vector_product 2015-10-09 10:42:14 +02:00
Gael Guennebaud
c2d68b984f Optimize a bit complex selfadjoint * vector product. 2015-10-09 10:34:58 +02:00
Gael Guennebaud
1932a24760 Simplify EIGEN_DENSE_PUBLIC_INTERFACE 2015-10-09 10:21:54 +02:00
Gael Guennebaud
186ec1437c Cleanup EIGEN_SPARSE_PUBLIC_INTERFACE, it is now a simple alias to EIGEN_GENERIC_PUBLIC_INTERFACE 2015-10-08 22:06:49 +02:00
Gael Guennebaud
c9718514f5 Fix nesting sub-expression in outer-products 2015-10-08 21:41:53 +02:00
Gael Guennebaud
4140ee039d Fix propagation of AssumeAliasing for expression as: "scalar * (A*B)" 2015-10-08 21:41:27 +02:00
Gael Guennebaud
d866279364 Clean a bit the implementation of inverse permutations 2015-10-08 18:36:39 +02:00
Gael Guennebaud
8d00a953af Fix a nesting issue in some matrix-vector cases. 2015-10-08 17:36:57 +02:00
Gael Guennebaud
dd934ad057 Re-enable vectorization of LinSpaced, plus some cleaning 2015-10-08 17:27:01 +02:00
Gael Guennebaud
f6f6f50272 Clean evaluator<EvalToTemp> 2015-10-08 16:34:33 +02:00
Gael Guennebaud
67bfba07fd Fix some CUDA issues 2015-10-08 16:30:28 +02:00
Gael Guennebaud
aa6b1aebf3 Properly implement PartialReduxExpr on top of evaluators, and fix multiple evaluation of nested expression 2015-10-08 15:57:05 +02:00
Gael Guennebaud
5cc7251188 Some cleaning in evaluators 2015-10-08 15:22:04 +02:00
Gael Guennebaud
e30bc89190 Add missing include of std vector 2015-10-08 15:20:50 +02:00
Gael Guennebaud
1b148d9e2e Move IncompleteCholesky to official modules 2015-10-08 11:32:46 +02:00
Gael Guennebaud
64242b8bf3 Doc: add link to doc of sparse solver concept 2015-10-08 10:50:39 +02:00
Gael Guennebaud
f047ecc36a _mm_hadd_epi32 is for SSSE3 only (and not SSE3) 2015-10-07 15:48:35 +02:00
Gael Guennebaud
aba1eda71e Help clang to inline some functions, thus fixing some regressions 2015-10-07 15:44:12 +02:00
Gael Guennebaud
41cc1f9033 Remove debuging prod() and lazyprod() function, plus some cleaning in noalias assignment 2015-10-07 15:41:22 +02:00
Gael Guennebaud
69a7897e72 Fix storage index type in empty permutations 2015-10-06 17:21:24 +02:00
Gael Guennebaud
26cde4db3c Define Permutation*<>::Scalar to 'void', re-enable scalar type compatibility check in assignment while relaxing this test for void types. 2015-10-06 17:18:06 +02:00
Gael Guennebaud
fb51bab272 Some cleaning 2015-10-06 17:14:56 +02:00
Gael Guennebaud
2c676ddb40 Handle various TODOs in SSE vectorization (remove splitted storeu, enable SSE3 integer vectorization, plus minor tweaks) 2015-10-06 15:43:27 +02:00
Gael Guennebaud
2d287a4898 Fix Ref<SparseMatrix> for Transpose<SparseVector> 2015-10-06 15:09:04 +02:00
Gael Guennebaud
f25bdc707f Optimise assignment into a Block<SparseMatrix> by using Ref and avoiding useless updates in non-compressed mode. This make row-by-row filling of a row-major sparse matrix very efficient. 2015-10-06 11:59:08 +02:00
Gael Guennebaud
945b80c83e Optimize Ref<SparseMatrix> by removing useless default initialisation of SparseMapBase and SparseMatrix 2015-10-06 11:57:03 +02:00
Gael Guennebaud
9a070638de Enable to view a SparseVector as a Ref<SparseMatrix> 2015-10-06 11:53:19 +02:00
Gael Guennebaud
1b43860bc1 Make SparseVector derive from SparseCompressedBase, thus improving compatibility between sparse vectors and matrices 2015-10-06 11:41:03 +02:00
Gael Guennebaud
6100d1ae64 Improve counting of sparse temporaries 2015-10-06 11:32:02 +02:00
Gael Guennebaud
deb261f64b Make abs2 compatible with custom complex types 2015-10-02 10:33:25 +02:00
Doug Kwan
5c9ee73eb9 Implement plog and pexp for AltiVec. 2015-07-30 11:12:42 -07:00
Gael Guennebaud
5a1cc5d24c bug #1053: fix SuplerLU::solve with EIGEN_DEFAULT_TO_ROW_MAJOR 2015-09-03 11:25:36 +02:00