Commit Graph

446 Commits

Author SHA1 Message Date
Ben Kimock
698e130c3b Remove abomonation support
Abomonation has numerous soundness problems which have been
well-documented in its issue tracker for over 2 years. Some of them
could be fixed, but some are fundamental to its design. If a user wants
super-fast ser/de, they should use rkyv.
2022-02-05 17:15:08 -05:00
Sébastien Crozet
b62b65d1b6
Merge pull request #1048 from haibane-tenshi/relax-matrix-select-rows-cols
Relax T: Zero bound on Matrix::select_rows() and Matrix::select_columns()
2021-12-30 21:56:55 +01:00
Sébastien Crozet
a6007de409 Add "Triangular matrix extraction" bullet to Matrix documentation 2021-12-30 21:55:29 +01:00
Rokonio
05320147b1
Fix a typo in a comment 2021-12-29 18:46:01 +01:00
haibane_tenshi
24bb7bef76 fix(Matrix): relax T: Zero bound on Matrix::select_rows() and Matrix::select_columns() 2021-12-16 18:50:15 +03:00
Sébastien Crozet
9297cc5754 Implement DeviceCopy for UnitComplex, UnitQuaternion, and Unit<Matrix> instead of using a blanket impl 2021-11-26 18:13:37 +01:00
Sébastien Crozet
9d897a6b8a Add support for rust-cuda 2021-11-23 12:03:11 +01:00
Sébastien Crozet
ad3eefe182 Merge remote-tracking branch 'origin/dev' into dev 2021-11-23 11:02:51 +01:00
Sébastien Crozet
f715883f9f Re-add the conversion from a slice to a static array 2021-11-21 21:47:35 +01:00
Sébastien Crozet
df51de0664 Fix unsound usize::get_unchecked_mut 2021-10-31 14:27:32 +01:00
Sébastien Crozet
20d8e953c5
Merge pull request #1004 from MaxVerevkin/fix-750
fix linear indexing of matrix slices
2021-10-31 14:24:10 +01:00
Max Verevkin
bf48e093a9 fix linear indexing of matrix slices 2021-10-06 18:02:02 +03:00
Sébastien Crozet
97a79a994b Add methods to compute the products of a single matrix components/rows/columns 2021-10-06 10:48:46 +02:00
Sébastien Crozet
2e9c8aef20
Merge pull request #1002 from MaxVerevkin/unsafe-dim
make Dim trait unsafe
2021-10-04 09:32:13 +02:00
Max Verevkin
65d3b42ff9 make Dim trait unsafe 2021-10-03 20:26:34 +03:00
Max Verevkin
ba7ededbf9 remove unnecessary T: Scalar 2021-09-26 21:07:34 +03:00
Max Verevkin
5cbff59f80 simplify Matrix::is_identity while also improving performance 2021-09-26 19:34:19 +03:00
Sébastien Crozet
7f236d88aa
Merge pull request #991 from MaxVerevkin/fix-ub
Fix UB in `Matrix::perp()`
2021-09-26 11:05:44 +02:00
Sébastien Crozet
5d9dbb62ef
Merge pull request #993 from MaxVerevkin/deny-unused-mut
deny unused_mut and unused_variables
2021-09-26 10:59:27 +02:00
Max Verevkin
f4a8b4cfa1 deny unused_mut and unused_variables 2021-09-25 22:05:31 +03:00
Max Verevkin
b91eecebcd Matrix::perp() fix UB 2021-09-25 21:52:09 +03:00
Benjamin Saunders
0541f13b26 Concise Debug impls
Replace the verbose derived (or nearly equivalent) Debug impls for
several newtypes with explicit impls that forward to the inner type,
making readable diagnostics logging much easier.
2021-09-12 10:56:25 -07:00
Sébastien Crozet
90e531337a
Merge pull request #969 from remilauzier/dev
Fix some clippy warnings
2021-08-30 10:11:51 +02:00
Rémi Lauzier
ea9a9e8b7f
Fix some clippy warnings 2021-08-28 12:05:21 -04:00
raimundo saona
2233a38048 Implement conversion methods for RowDVector 2021-08-26 11:07:00 +02:00
Sébastien Crozet
1bc919e0db
Merge pull request #962 from dimforge/non-copy-types
Tha clone wars: allow non-copy scalar types everywhere
2021-08-08 13:21:39 +02:00
Marius Knaust
649e0f5a59
Fix wrong reference in docs. 2021-08-07 12:06:15 +02:00
Sébastien Crozet
dd6c40016e Remove the Copy requirement from SimdRealField. 2021-08-04 17:34:25 +02:00
Sébastien Crozet
65b299557c More inlining. 2021-08-04 11:19:57 +02:00
Sébastien Crozet
6d57396a42 Remove the Scalar::is method, which is unsound. 2021-08-03 17:53:48 +02:00
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