Commit Graph

2033 Commits

Author SHA1 Message Date
Jenan Wise
7a42513c1a Add empty rustfmt.toml.
Previous commit removed it entirely, but we should have an empty config
file instead to indicate that we use the base config.
2020-06-23 09:49:01 -07:00
Sébastien Crozet
b1b18d17ee
Merge pull request #741 from jenanwise/dim-mismatch-verbose-errors
More verbose DMatrix dim asserts where possible.
2020-06-23 01:46:09 -07:00
Jenan Wise
eca17586a6 Remove rustfmt.toml.
The CI rustfmt checker uses `stable` rust, not `nightly`, but the
config options in `rustfmt.toml` only work on nightly -- on stable,
there are ignored with warnings. This means that devs running stable
get a lot of warnings and devs running nightly will accidentally format
in a way that the CI checker forbids. (specifically, using
`where_single_line`). E.g.:

```
$ cargo +stable fmt -- --check
Warning: can't set `indent_style = Block`, unstable features are only available in nightly channel.
Warning: can't set `where_single_line = true`, unstable features are only available in nightly channel.
...etc

$ cargo +nightly fmt -- --check
-where
-    N: RealField,
-{
+where N: RealField {
...etc
```

Just removing the toml fixes this problem.
2020-06-22 19:22:33 -07:00
Jenan Wise
85a64fb517 More verbose DMatrix dim asserts where possible.
Previously, most dimension mismatch asserts used raw `assert!` and did
not include the mismatching dimensions in the panic message. When using
dynamic matrices, this led to somewhat-opaque panics such as:

```rust
let m1 = DMatrix::<f32>::zeros(2, 3);
let m2 = DMatrix::<f32>::zeros(5, 10);
m1 + m2 // panic: Matrix addition/subtraction dimensions mismatch.
```

This patch adds dimension information in the panic messages wherever
doing so did not add additional bounds checks, mostly by simply changing
`assert!(a == b, ...)` cases to `assert_eq!`. After:

```rust
// panic: assertion failed: `(left == right)`
//   left: `(2, 3)`,
//  right: `(5, 10)`: Matrix addition/subtraction dimensions mismatch.
```

Note that the `gemv` and `ger` were not updated, as they are called from
within other functions on subset matricies -- e.g., `gemv` is called
from `gemm` which is called from `mul_to` . Including dimension
information in the `gemv` panic messages would be confusing to
`mul` / `mul_to` users, because it would include dimensions of the column
vectors that `gemm` passes to `gemv` rather than of the original `mul`
arguments. A fix would be to add bounds checks to `mul_to`, but that may
have performance and redundancy implications, so is left to another
patch.
2020-06-22 17:18:53 -07:00
sebcrozet
d5cbe56332 Merge branch 'dev'
# Conflicts:
#	src/linalg/cholesky.rs
2020-06-07 10:36:34 +02:00
sebcrozet
2198b0e6b4 Release v0.21.1 2020-06-07 10:29:10 +02:00
Sébastien Crozet
a8f746f911
Merge pull request #736 from rustsim/cholesky_aosoa 2020-06-07 10:02:31 +02:00
sebcrozet
0be9a07f8b Use the #[rustfmt::skip] attribute instead of rustfmt_skip. 2020-06-07 09:30:21 +02:00
sebcrozet
2c2d1e4f07 Run cargo fmt. 2020-06-07 09:07:25 +02:00
Sébastien Crozet
3359e25435 Cholesky: add unchecked construction compatible with AoSoA SIMD. 2020-06-07 09:05:10 +02:00
Sébastien Crozet
423b4b27b0
Merge pull request #585 from fusion-engineering-forks/pr-default 2020-06-07 08:58:47 +02:00
Sébastien Crozet
b0ccf13c16
Merge pull request #726 from Hodapp87/typo 2020-04-21 21:12:23 +02:00
Chris Hodapp
7363caba17 Fix doc typo (v is right-singular vectors, not left) 2020-04-21 10:23:00 -04:00
Sébastien Crozet
3e73da38da
Merge pull request #725 from rustsim/fix-no-std 2020-04-21 10:46:04 +02:00
sebcrozet
6dc739b70b Remove unused allocator bound. 2020-04-21 10:37:14 +02:00
sebcrozet
f4c0897764 Fix compilation of matrix exponential when targetting no-std. 2020-04-21 10:35:20 +02:00
Sébastien Crozet
f30476eb2b
Merge pull request #724 from mxxo/alga-test 2020-04-21 10:03:40 +02:00
Max Orok
a50e567fcd Fix alga cfg gate for some quickcheck tests. 2020-04-20 10:06:38 -04:00
Sébastien Crozet
66957980cc
Merge pull request #708 from fredrik-jansson-se/expm
Addition of matrix exponent for static size matrices.
2020-04-12 14:28:46 +02:00
Fredrik Jansson
583a8fb110 Removed unsafe immutable hack 2020-04-12 13:27:11 +02:00
Fredrik Jansson
e914afe2af Added support for dynamic matrices 2020-04-12 11:59:06 +02:00
Fredrik Jansson
0a3ee99cdb Changed dimension name R to D
Changed N::from_x to crate::convert
2020-04-12 11:46:00 +02:00
Fredrik Jansson
c7d9e415ce Converted tests to use relative_eq 2020-04-07 09:55:58 +02:00
Fredrik Jansson
dbbf87a3dd Rebased against dev 2020-04-07 09:44:06 +02:00
Fredrik Jansson
4ec94408b5 Pub use of exp in the linalg module 2020-04-07 09:41:32 +02:00
Fredrik Jansson
b3ef66fd14 Fixed bug in onenorm_matrix_power_norm 2020-04-07 09:41:32 +02:00
Fredrik Jansson
e156561677 one_norm is not a public function 2020-04-07 09:41:32 +02:00
Fredrik Jansson
2696ffd7a1 Fixed bug by introducing one norm 2020-04-07 09:41:32 +02:00
Fredrik Jansson
c0a6df55b1 Addition of matrix exponent for static size matrices. 2020-04-07 09:41:32 +02:00
Fredrik Jansson
e6c3b88c3d
Merge pull request #1 from rustsim/dev
Update from main repo
2020-04-07 09:41:12 +02:00
Sébastien Crozet
8fbd2b6d7e
Merge pull request #714 from rustsim/dev
Release v0.21.0
2020-04-05 23:36:47 +02:00
sebcrozet
b87920bb8d Release nalgebra v0.21.0 2020-04-05 23:19:10 +02:00
sebcrozet
677f355143 Run rustfmt. 2020-04-05 23:19:10 +02:00
Sébastien Crozet
b81aed767f
Merge pull request #713 from rustsim/soa_simd
Switch to Simba and make the base and geometry modules mostly SIMD AoSoA friendly.
2020-04-05 21:16:48 +02:00
sebcrozet
384aee8325 CI: don't run nalgebra-lapack test for now.
This leads to link errors that will need to be investigated later.
2020-04-05 21:00:42 +02:00
sebcrozet
89a6251292 CI: install dependencies for the tests too. 2020-04-05 20:45:19 +02:00
Sébastien Crozet
240aaea626
Merge pull request #711 from cschenio/cschenio/doc
Supplement the document of base/matrix
2020-04-05 20:37:24 +02:00
sebcrozet
f782060e99 Fix trailing commas in tests. 2020-04-05 20:36:26 +02:00
sebcrozet
ed85d5418a CI: use openblas instead of netlib. 2020-04-05 20:05:53 +02:00
sebcrozet
4233ba1131 CI: add some missing dependencies for lapack 2020-04-05 19:57:31 +02:00
sebcrozet
0c0915d45c CI: install cmake for lapack compilation. 2020-04-05 19:53:25 +02:00
sebcrozet
7bbca5c616 CI: fix feature selection for nalgebra-lapack. 2020-04-05 19:41:58 +02:00
sebcrozet
d802b6b5bf CI: add missing component for compiling with Xargo. 2020-04-05 19:00:16 +02:00
sebcrozet
eadcb31e78 CI: run the no-std build with the nightly compiler. 2020-04-05 18:56:44 +02:00
sebcrozet
8d41a5c20f CI: fix some syntax errors. 2020-04-05 18:53:50 +02:00
sebcrozet
bbb3be512e Run cargo fmt. 2020-04-05 18:49:48 +02:00
sebcrozet
bc1b62d06a circleci: run tests too. 2020-04-05 18:48:21 +02:00
sebcrozet
615e092b24 Add circle CI configuration files. 2020-04-05 18:43:45 +02:00
sebcrozet
691f58b622 Fix compilation of tests. 2020-04-05 18:33:03 +02:00
sebcrozet
50ade7e870 Re comment the criterion dependency. 2020-04-05 18:15:36 +02:00