Commit Graph

1726 Commits

Author SHA1 Message Date
Avi Weinstock
cd12422d6f Change zero_or_uninitialized_generic to unimplemented_or_uninitialized_generic, and use it instead of manually dispatching on feature=no_unsound_assume_init in functions without N: Zero. 2021-02-25 13:42:23 +01:00
Avi Weinstock
36a3ac814f Propagate mem::MaybeUninit through the return types of Allocator::allocate_uninitialized and Matrix::new_uninitialized_generic.
Most call sites still invoke UB through `assume_init`. Said call sites instead invoke `unimplemented!()` if the `no_unsound_assume_init` feature is enabled, to make it easier to gradually fix them.

Progress towards #556.
2021-02-25 13:42:23 +01:00
Sébastien Crozet
adc82845d1
Merge pull request #823 from Andlon/sparse-rework
Sparse rework: nalgebra-sparse
2021-02-25 12:58:28 +01:00
Crozet Sébastien
660106255c nalgebra-sparse: re-export nalgebra. 2021-02-25 11:14:44 +01:00
Crozet Sébastien
c6f7cae326 Move COO, CSC, CSR constructor at the top of the impls. 2021-02-25 11:11:29 +01:00
Crozet Sébastien
98ae4f3818 nalgebra-sparse: reexport CooMatrix, CscMatrix, and CsrMatrix at the root of the crate. 2021-02-25 11:03:47 +01:00
Crozet Sébastien
4e4eeb2641 Don't pin the proptest version when running tests: this breaks all no-std builds.
This is extremely unfortunate, but we cannot pin the version of proptest because of the Cargo bug #4866 will cause a breakage of #[no-std] builds.
2021-02-25 11:00:48 +01:00
Sébastien Crozet
f46d1b4abb
Merge pull request #836 from dimforge/rotation_utils
Add various utilities for constructing/appending rotations
2021-02-22 14:52:08 +01:00
Crozet Sébastien
8d00378d6c Update the changelog. 2021-02-22 14:32:04 +01:00
Crozet Sébastien
424897f55b Fix no-std cargo category. 2021-02-22 14:27:31 +01:00
Crozet Sébastien
bafa1dcd97 Re-export simba::SimdValue. 2021-02-22 14:27:18 +01:00
Crozet Sébastien
478921881f Add approximate rotation composition for unit-quaternion. 2021-02-22 14:27:08 +01:00
Crozet Sébastien
9d930eb21a Add a method to cap the magnitude of a vector. 2021-02-22 14:26:40 +01:00
Crozet Sébastien
6139372c38 Add from_basis_unchecked to rotation types. 2021-02-22 14:26:25 +01:00
Andreas Longva
66b9185ec1 Test CsrMatrix::row_iter(_mut) and CscMatrix::col_iter(_mut) 2021-02-01 14:38:11 +01:00
Andreas Longva
1ebb612d46 Test Csr/CscMatrix::{index_entry, index_entry_mut, get_entry, get_entry_mut} 2021-02-01 09:27:33 +01:00
Andreas Longva
0936c4fad9 Add tests for Csr/CscMatrix::identity 2021-02-01 08:52:13 +01:00
Andreas Longva
2d11b90149 Address review concerns: doc link, Csr/CScMatrix::pattern docs 2021-02-01 08:41:37 +01:00
Sébastien Crozet
6ed6084745
Merge pull request #825 from paq/patch-1
Fix rustdoc link
2021-01-31 20:48:53 +01:00
paq
8e04f4db56
Fix rustdoc link 2021-01-31 06:15:51 -09:00
Crozet Sébastien
d45e6eafab Release v0.24.1 2021-01-29 13:57:19 +01:00
Crozet Sébastien
fb26d4d0fb Update the htaml_root_url. 2021-01-29 13:56:40 +01:00
Crozet Sébastien
7d5cc4912d Update cargo badge and categories. 2021-01-29 13:33:37 +01:00
Andreas Longva
86aeed6a09 Test nalgebra-sparse in CI 2021-01-26 10:11:24 +01:00
Andreas Longva
bda8207ffd Rename to_value to into_value (clippy suggestion) 2021-01-26 10:11:24 +01:00
Andreas Longva
7bef417f99 Use nalgebra/proptest-support instead of /proptest in nalgebra-sparse 2021-01-26 10:11:24 +01:00
Andreas Longva
e7975ce09a Rebase and update nalgebra version for nalgebra-sparse 2021-01-26 10:11:24 +01:00
Andreas Longva
7473d54d74 rustfmt 2021-01-26 10:11:24 +01:00
Andreas Longva
795d818ae5 Improve documentation of errors and panics 2021-01-26 10:11:24 +01:00
Andreas Longva
5d5ed5be0b Various minor doc and comment fixes 2021-01-26 10:11:24 +01:00
Andreas Longva
ccf1f18991 Merge SolveError into OperationError 2021-01-26 10:11:24 +01:00
Andreas Longva
7b6333e9d1 Rename some Csr/Csc/SparsityPattern methods 2021-01-26 10:11:24 +01:00
Andreas Longva
cf1bd284f1 Improve ops docs 2021-01-26 10:11:24 +01:00
Andreas Longva
f98e64aafd Improve docs for SparsityPattern 2021-01-26 10:11:24 +01:00
Andreas Longva
cf220c9d2b Improve docs for CooMatrix 2021-01-26 10:11:24 +01:00
Andreas Longva
e8a35ddb62 CSC docs and improved CSR docs 2021-01-26 10:11:24 +01:00
Andreas Longva
afcad0ccc8 Documentation for CsrMatrix 2021-01-26 10:11:24 +01:00
Andreas Longva
0bee9be6c7 Extend CSC/CSR * Dense to work for combinations of ref and owned 2021-01-26 10:11:24 +01:00
Andreas Longva
74cd0283eb Partial top-level documentation 2021-01-26 10:11:24 +01:00
Andreas Longva
1fa0de92ae Preserve column dim type in CSR * Dense
This is necessary so that CSR * Vector == Vector (before it would
also yield a DMatrix).
2021-01-26 10:11:24 +01:00
Andreas Longva
15c4382fa9 Docs for most items in nalgebra-sparse 2021-01-26 10:11:24 +01:00
Andreas Longva
7a083d50f7 Increase tolerance to ensure tests pass
It's possible that some particularly bad inputs cause
severe loss of significance in the triangular solves.
This is exacerbated by the fact that the way we test
the (residual) error is also prone to loss of significance,
so that the error measure itself is problematic.

We could maybe improve this in the future by using arbitrary-
precision arithmetic to remove some sources of error and testing
against appropriate bounds.
2021-01-26 10:11:24 +01:00
Andreas Longva
31c911d4fb Change proptest strategies to use DimRange 2021-01-26 10:11:24 +01:00
Andreas Longva
9cd1540496 Improve and test proptest generators
Due to a bug in proptest, we were required to pull in and modify
parts of proptest::strategy::Shuffle. Once the below PR has been merged
and released on crates.io, we can remove this code.

https://github.com/AltSysrq/proptest/pull/217
2021-01-26 10:11:24 +01:00
Andreas Longva
3eab45d81b Replace spmm_pattern with spmm_{csr/csc}_pattern 2021-01-26 10:11:24 +01:00
Andreas Longva
cb0f9a5190 Add Csr/CscMatrix::pattern_and_values_mut() 2021-01-26 10:11:24 +01:00
Andreas Longva
c43a2b1679 Impl Csr/CscMatrix::into_pattern_and_values 2021-01-26 10:11:24 +01:00
Andreas Longva
e655fed4fa Replace Arc<SparsityPattern> with SparsityPattern
After much deliberation, I have come to the conclusion that the
benefits do not really outweigh the added complexity. Even though
the added complexity is relatively minor, it makes it somewhat
more complicated to inter-op with other sparse linear algebra
libraries in the future.
2021-01-26 10:11:24 +01:00
Andreas Longva
9b46a43c7f Add proptest regressions 2021-01-26 10:11:24 +01:00
Andreas Longva
fc0c22bf78 Add CscCholesky::solve and ::solve_mut 2021-01-26 10:11:24 +01:00