Commit Graph

416 Commits

Author SHA1 Message Date
Sébastien Crozet eedb860565 Fix missing docs. 2021-08-03 17:27:15 +02:00
Sébastien Crozet d609a2f174 Address unsoundness in the resizing API. 2021-08-03 17:02:42 +02:00
Sébastien Crozet 27ae30b46a First step to fix unsoundness on the resize API. 2021-08-03 10:59:03 +02:00
Sébastien Crozet f67a81e50a Fix build with --all-features 2021-08-03 10:07:05 +02:00
Sébastien Crozet 7a1a4bcc02 Fix test and no-std builds. 2021-08-03 09:54:11 +02:00
Sébastien Crozet 8c6ebf2757 Implement the single-allocator-trait approach. 2021-08-02 18:41:46 +02:00
Sébastien Crozet d34fed45bc Merge branch 'dev' into ub3 2021-08-02 18:40:33 +02:00
Violeta Hernández 2243a11e89 Added some derives 2021-07-29 12:33:45 -05:00
Rémi Lauzier c35f792b4f
Fix some warnings 2021-07-27 19:24:55 -04:00
Rémi Lauzier ed6b34a0d6
Fix rust_2018_idioms warnings 2021-07-25 13:18:21 -04:00
Violeta Hernández 22b657f566 First draft of `Owned` overhaul 2021-07-19 18:00:40 -05:00
Violeta Hernández a753d84aae cargo fmt 2021-07-17 21:50:06 -05:00
Violeta Hernández b74be8499f Miscellaneous improvements 2021-07-17 21:43:50 -05:00
Violeta Hernández 10b5dc9bb6 Many miscellaneous improvements throughout 2021-07-17 20:19:20 -05:00
Violeta Hernández 7e1b2f81b3 Fixed some more blatant issues 2021-07-17 13:53:01 -05:00
Violeta Hernández fa1ed9683b Got rid of the `unimplemented_or_uninitialized_generic` macro 2021-07-17 13:36:35 -05:00
Violeta Hernández 0687318c7a Tests work! 2021-07-17 13:30:57 -05:00
Violeta Hernández c01d591478 We have reached compilation! 2021-07-17 13:01:03 -05:00
Violeta Hernández 9a528e23b9 Almost! 2021-07-17 04:36:14 -05:00
Violeta Hernández a6b8dd6d78 Checkpoint #10 2021-07-17 02:52:57 -05:00
Violeta Hernández 87fe2b30df Checkpoint #9 2021-07-16 23:17:56 -05:00
Violeta Hernández c3f869e017 Checkpoint #8 2021-07-16 01:53:28 -05:00
Violeta Hernández 8270dd8e89 `ops.rs` works too now! 2021-07-16 00:39:15 -05:00
Violeta Hernández 54e9750191 Tied some blas loose strings 2021-07-16 00:27:16 -05:00
Violeta Hernández df9b6f5f64 blas.rs works now! 2021-07-15 23:56:58 -05:00
Violeta Hernández bbd045d216 `blas.rs` should be sound now 2021-07-14 23:30:31 -05:00
Violeta Hernández 775917142b More trait restructuring! 2021-07-14 17:21:22 -05:00
Violeta Hernández 8d10e69e33 Finally figured out some trait nitty-gritty 2021-07-14 13:24:27 -05:00
Violeta Hernández 1a78b00476 Checkpoint #1 2021-07-14 04:25:16 -05:00
Sébastien Crozet cce7d9e9b6
Merge pull request #937 from jsmith628/fixed-size-borrow
Implemented Borrow and BorrowMut on fixed size matrices
2021-07-11 17:48:09 +02:00
Sébastien Crozet b007e192d4
Merge pull request #938 from Nateckert/omatrix_to_string
Make display generical for Omatrix
2021-07-11 17:45:02 +02:00
Violeta Hernández 1be8964c12 Fixed indent 2021-07-08 11:15:08 -05:00
Violeta Hernández 04e937792b Removed unnecessary `unsafe` markers 2021-07-08 11:12:43 -05:00
Joshua Smith a7fe7a5d9a fixed check-fmt error 2021-07-08 11:05:32 -05:00
nathan.eckert 92a51662bf Remove Allocator<usize, > from display 2021-07-08 14:18:22 +02:00
Sébastien Crozet 0a5bd520a4
Merge pull request #922 from Cryptjar/impl-into-slice
Allow to extract the inner slices of SliceStorage
2021-07-08 09:50:41 +02:00
Sébastien Crozet a66b54a015
Merge pull request #929 from remilauzier/dev
Fix some clippy warnings and typo
2021-07-08 09:44:43 +02:00
Joshua Smith 2279da446e impl Borrow and BorrowMut for fixed size matrices 2021-07-07 13:26:19 -05:00
Violeta Hernández 6e96c28ad9 Trivial doc comment improvements 2021-07-06 21:05:25 -05:00
Rémi Lauzier bbd60fbc8c
Fix some clippy warnings and typo 2021-07-06 11:39:29 -04:00
Sébastien Crozet b10711e66e
Merge pull request #927 from remilauzier/dev
Fix some clippy warnings
2021-07-05 06:55:26 -07:00
CAD97 e77a97e854 Add a couple trivial const fn conversions 2021-07-04 17:42:39 -05:00
Rémi Lauzier 78da5209e9
Fix some clippy warnings 2021-07-03 23:43:45 -04:00
Cryptjar 1554c0114e Fix unsoundness in `into_slice` by adding `ContiguousStorage` bound. 2021-06-18 13:18:33 +02:00
Sébastien Crozet 0312981a4f
Merge pull request #921 from OfficialURL/ptr_alias
Fixed potential UB
2021-06-18 09:49:41 +02:00
Violeta Hernández 281b140365
Fix most clippy warnings 2021-06-18 09:45:37 +02:00
Violeta Hernández c5f240cc28 Fixed potential UB 2021-06-17 19:51:00 -05:00
Cryptjar 801d8a61a6 Add a `From` impl to convert `DVectorSlice[mut]` back to into a slice. 2021-06-18 02:50:10 +02:00
Cryptjar 498b377d0e Add `into_slice[_mut]` and impl to SliceStorage[Mut]. 2021-06-18 02:42:03 +02:00
Sébastien Crozet 38add0b00d
Fix potential undoundness with Storage::as_slice and Storage::as_mut_slice (#905) 2021-06-17 09:46:49 +02:00
Violeta Hernández 885bbdaf97
Implemented `SliceRange` for `RangeInclusive` (#911) 2021-06-17 09:42:47 +02:00
Malte Tammena 38e9a5da33 Annotate `get_mut`/`slice`-like functions with `#[must_use]` 2021-06-07 17:15:36 +02:00
Malte Tammena e1fe76235f Normalize `#[must_use]` hints 2021-06-07 16:44:59 +02:00
Malte Tammena 9fb963017f Simplify default `#[must_use]` annotation 2021-06-07 16:34:03 +02:00
Malte Tammena 39aa52d019 Add must_use annotations in src/**/*.rs 2021-06-06 14:46:36 +02:00
Malte Tammena 925fc1edd7 Annotate functions with #[must_use] where appropriate 2021-06-06 11:28:12 +02:00
David Koloski 9fff10b1f0 Move rkyv impls into separate modules 2021-05-09 12:24:07 -04:00
David Koloski 38dd3345e0 Switch to distributive implementations 2021-05-09 12:24:03 -04:00
David Koloski b48b104d57 Add rkyv implementations for a few types 2021-05-09 12:23:16 -04:00
Sébastien Crozet 23ac85e896
Merge pull request #886 from Andlon/matrix-macro
Matrix macro
2021-05-09 16:52:04 +02:00
Sébastien Crozet a803271fcc
Merge pull request #889 from dimforge/dvector_deserialize
Fix potential unsoundness after deserializing a DVector with a bad number or elements.
2021-05-09 16:50:38 +02:00
Andreas Longva 922393b04f Enable from_{}_storage only when std/alloc available 2021-05-07 09:09:10 +02:00
Andreas Longva 3a3bc55f66 Move from_{}_storage impl blocks to matrix.rs 2021-05-07 09:00:29 +02:00
Crozet Sébastien b398a5e189 Re-add conversion between arrays and row vectors. 2021-05-06 18:22:04 +02:00
Crozet Sébastien 5bff5368bf Manually implement Serialize and Deserialize for VecStorage 2021-05-06 18:16:42 +02:00
Andreas Longva 8552fc8385 Cargo fmt 2021-05-03 13:52:34 +02:00
Andreas Longva d2c11ad797 Impl DMatrix/DVector::from_vec_storage
These methods enable safe & const construction of DMatrix/DVector from a
given VecStorage.
2021-05-03 13:52:34 +02:00
Andreas Longva 9142dc8f84 Implement SMatrix::from_array_storage and use it in matriX! impl
This allows us to avoid injecting unsafe code into every macro
invocation, which seems desirable.
2021-05-03 13:52:34 +02:00
Chammika Mannakkara 105e894c0a add missing doc tests 2021-05-02 13:50:03 +09:00
Crozet Sébastien 43cf22af28 Cleanup conversion between static arrays and static matrices. 2021-04-27 13:16:01 +02:00
Crozet Sébastien f70e7f77d1 Fix serialization of DVector 2021-04-12 17:43:04 +02:00
Crozet Sébastien c5c6c139ab Release v0.26.0 2021-04-12 16:15:08 +02:00
Crozet Sébastien 95b021dbfb Don't enable serde by default.
Don't enable `serde/std` by default.
Add a `serde-serialize-no-std` feature to enable serde without its default features.
2021-04-12 12:14:16 +02:00
Crozet Sébastien ee1c0be2dd Add a note about the PhantomData in Matrix. 2021-04-12 11:27:21 +02:00
Crozet Sébastien 2bef19ed5c Deprecate the MatrixN alias. 2021-04-12 11:15:01 +02:00
Crozet Sébastien 7ec4497f92 Fix wrong alias. 2021-04-12 11:06:13 +02:00
Crozet Sébastien 5a1dbfe37d Use explicit storage names in matrix aliases. 2021-04-12 10:34:15 +02:00
Crozet Sébastien bedf48dbc2 Mark small matrix/vector "new" constractors as const-fn. 2021-04-12 09:18:17 +02:00
Crozet Sébastien ad5b18ac77 Deny missing docs again. 2021-04-11 14:36:27 +02:00
Crozet Sébastien 24d546d3b6 Rename generic parameter N -> T 2021-04-11 13:57:54 +02:00
Crozet Sébastien 23a7d7475b First compiling version after migrating the geometry module to const-generics. 2021-04-11 13:53:45 +02:00
Crozet Sébastien 8abbb35b40 First pass to migrate the geometry module to const-generics. 2021-04-11 13:53:45 +02:00
Crozet Sébastien 35ec135d2c Fix compilation after rebase. 2021-04-11 13:53:45 +02:00
Crozet Sébastien d17088398a Replace generic-array with a regular array based on min-const-generics. 2021-04-11 13:53:45 +02:00
Vinzent Steinberg 09f26385cc Comment about faster impl for unit sphere sampling 2021-04-10 03:36:21 -03:00
Vinzent Steinberg fd3a752409 Make use of rand more idiomatic
This should improve performance and accuracy.
2021-04-10 03:13:46 -03:00
Guilherme Salustiano 9947cd5b88
Add type aliases for unit vectors 2021-03-29 15:20:04 -03:00
Crozet Sébastien b687c63bb2 Add a SIMD version of cap_magnitude: simd_cap_magnitude. 2021-03-06 19:16:22 +01:00
Crozet Sébastien 729a8fd7f2 Add conversion from/to glam types + move glam/alga/mint impls to a "third_party" module. 2021-03-06 12:20:38 +01:00
Crozet Sébastien f2c49aecb0 Add "cast" methods to cast the type of the components of most nalgebra types. 2021-03-05 17:08:46 +01:00
Crozet Sébastien c32172b6b9 Make the rand dependency optional. 2021-03-02 12:25:12 +01:00
Crozet Sébastien 6cfd2bca14 Use proptest for all nalgebra tests. 2021-02-28 17:52:14 +01:00
Sébastien Crozet 21cc428480
Merge pull request #803 from aweinstock314/no_unsound_assume_init
Propagate `mem::MaybeUninit` through the return types of `Allocator::…
2021-02-25 15:46:49 +01:00
Sébastien Crozet 69e2ad6a44
Merge pull request #831 from iMplode-nZ/dev
Added bytemuck implementations for static storages.
2021-02-25 15:46:28 +01:00
Crozet Sébastien 162a7ef09c Fix compilation when the mint or alga features are enabled. 2021-02-25 14:30:04 +01:00
Crozet Sébastien dc15261ec1 Move the bytemuck impls to GenericArray and add a transitive impl for matrices. 2021-02-25 14:10:34 +01:00
Avi Weinstock ee32f7d4cf Run `cargo fmt`. 2021-02-25 13:42:23 +01:00
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
Remco Bloemen b25c2aa78c Fix inner size 2021-02-25 13:31:16 +01:00