Gael Guennebaud
feaf76c001
bug #910 : add a StandardCompressedFormat option to Ref<SparseMatrix> to enforce standard compressed storage format.
...
If the input is not compressed, then this trigger a copy for a const Ref, and a runtime assert for non-const Ref.
2015-06-09 23:11:24 +02:00
Gael Guennebaud
f899aeb301
bug #650 : fix sparse * dense wrt noalias and compound assignment
2015-06-09 18:33:24 +02:00
Gael Guennebaud
302cf8ffe2
Add missing documentation for TriangularViewImpl<MatrixType,Mode,Sparse>
2015-06-09 11:40:07 +02:00
Gael Guennebaud
9a2447b0c9
Fix shadow warnings triggered by clang
2015-06-09 09:11:12 +02:00
Gael Guennebaud
a7ae628c9f
bug #1005 : fix regression regarding sparse coeff-wise binary operator that did not trigger a static assertion for mismatched storage
2015-06-08 10:14:08 +02:00
Gael Guennebaud
d457734a19
Avoid calling smart_copy with null pointers.
2015-05-25 22:30:56 +02:00
Christoph Hertzberg
28a4c92cbf
bug #998 : Started fixing doxygen warnings
2015-05-01 22:10:41 +02:00
Gael Guennebaud
40258078c6
bug #360 : add value_type typedef to DenseBase/SparseMatrixBase
2015-04-24 09:44:24 +02:00
Gael Guennebaud
dbd12b4cda
Make sure that BlockImpl<const SparseMatrix> ctor is called with the right type
2015-04-21 10:15:36 +02:00
Gael Guennebaud
fc2d5b86ce
simplify previous changeset: sub-expressions are nested by value
2015-04-18 22:50:16 +02:00
Gael Guennebaud
5a3c48e3c6
bug #942 : fix dangling references in evaluator of diagonal * sparse products.
2015-04-18 22:43:27 +02:00
Christoph Hertzberg
761691f18d
Make conversion from 0 to Scalar explicit (issue reported by Brad Bell)
2015-04-13 17:15:00 +02:00
Gael Guennebaud
5861cfb55e
Remove unused GenericSparseBlockInnerIteratorImpl code.
2015-04-01 22:29:29 +02:00
Gael Guennebaud
3105986e71
bug #875 : remove broken SparseMatrixBase::nonZeros and introduce a nonZerosEstimate() method to sparse evaluators for internal uses.
...
Factorize some code in SparseCompressedBase.
2015-04-01 22:27:34 +02:00
Gael Guennebaud
2adbf6b8ca
fix stupid warning with old GCC
2015-03-28 22:34:54 +01:00
Gael Guennebaud
a9df28c95b
SparseMatrix::insert: switch to a fully uncompressed mode if sequential insertion is not possible (otherwise an arbitrary large amount of memory was preallocated in some cases)
2015-03-13 21:00:21 +01:00
Gael Guennebaud
5ffe29cb9f
Bound pre-allocation to the maximal size representable by StorageIndex and throw bad_alloc if that's not possible.
2015-03-13 20:57:33 +01:00
Gael Guennebaud
2f6f8bf31c
Add missing coeff/coeffRef members to Block<sparse>, and extend unit tests.
2015-03-13 16:24:40 +01:00
Gael Guennebaud
d4317a85e8
Add typedefs for return types of SparseMatrixBase::selfadjointView
2015-03-09 21:29:46 +01:00
Gael Guennebaud
c43154bbc5
Check for no-reallocation in SparseMatrix::insert (bug #974 )
2015-03-04 10:16:46 +01:00
Gael Guennebaud
1ce0178363
Improve efficiency of SparseMatrix::insert/coeffRef for sequential outer-index insertion strategies (bug #974 )
2015-03-04 09:39:26 +01:00
Gael Guennebaud
63464754ef
Add an internal assertion in makeCompressed to catch a possible risk of null-pointer access.
2015-02-18 11:29:54 +01:00
Gael Guennebaud
d4eda01488
Big 957, workaround MSVC/ICC compilation issue
2015-02-18 11:24:32 +01:00
Christoph Hertzberg
97a36ecba4
Suppress some remaining Index conversion warnings
2015-02-17 18:52:39 +01:00
Gael Guennebaud
470d26d580
Remove some useless typedefs
2015-02-16 16:48:21 +01:00
Gael Guennebaud
953d5ccfd5
Doc: explain how to free allocated memory in SparseMAtrix
2015-02-16 15:56:11 +01:00
Gael Guennebaud
cc641aabb7
Remove deprecated usage of expr::Index.
2015-02-16 14:46:51 +01:00
Gael Guennebaud
aa6c516ec1
Fix many long to int conversion warnings:
...
- fix usage of Index (API) versus StorageIndex (when multiple indexes are stored)
- use StorageIndex(val) when the input has already been check
- use internal::convert_index<StorageIndex>(val) when val is potentially unsafe (directly comes from user input)
2015-02-16 13:19:05 +01:00
Gael Guennebaud
fc202bab39
Index refactoring: StorageIndex must be used for storage only (and locally when it make sense). In all other cases use the global Index type.
2015-02-13 18:57:41 +01:00
Gael Guennebaud
fe51319980
Merge Index-refactoring branch with default, fix PastixSupport, remove some useless typedefs
2015-02-13 10:03:53 +01:00
Gael Guennebaud
d4ec48575e
Make Block<SparseMatrix> inherit SparseCompressedBase in the case of an inner-panels and fix valuePtr() innerIndexPtr()
2015-02-09 11:14:36 +01:00
Gael Guennebaud
3af29caae8
Cleaning and add more unit tests for Ref<SparseMatrix> and Map<SparseMatrix>
2015-02-09 10:23:45 +01:00
Gael Guennebaud
f2ff8c091e
Add a Ref<SparseMatrix> specialization.
2015-02-07 22:04:18 +01:00
Gael Guennebaud
f3be317614
Add a Map<SparseMatrix> specialization.
2015-02-07 22:03:25 +01:00
Gael Guennebaud
08081f8293
Make SparseTranspose inherit SparseCompressBase when possible
2015-02-07 22:02:14 +01:00
Gael Guennebaud
7838fda82c
Add a SparseCompressedBase class providing (un)compressed accessors (like data()/*Stride() for dense matrices),
...
and a CompressedAccessBit flag (similar to DirectAccessBit for dense matrices).
2015-02-07 22:00:46 +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
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
0efaff9b3b
Fix out-of-bounds write
2014-12-11 16:15:20 +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
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
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
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
bd2d330b25
Temporary workaround for bug #875 :
...
Let TriangularView<Sparse>::nonZeros() return nonZeros() of the nested expression
2014-10-28 13:31:00 +01: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
Gael Guennebaud
8472e697ca
Add lapack interface to JacobiSVD and BDCSVD
2014-10-17 15:31:11 +02:00
Gael Guennebaud
a80e17cfe8
Remove unused and dangerous CompressedStorage::Map function
2014-10-09 23:42:33 +02:00