Commit Graph

513 Commits

Author SHA1 Message Date
geo-ant
7b9b123301 add test, find bug, add another test 2023-01-14 12:08:47 +01:00
geo-ant
93f2c6c125 fix format 2023-01-14 12:08:47 +01:00
geo-ant
9cc7cc121f mention feature gating 2023-01-14 12:08:47 +01:00
geo-ant
296320bb74 indicate feature gating 2023-01-14 12:08:47 +01:00
geo-ant
66dfaf824a formatting 2023-01-14 12:08:47 +01:00
geo-ant
ae5bca75f7 advertize the feature on the matrix front doc page 2023-01-14 12:08:47 +01:00
geo-ant
6fce106776 restructure code for better docs 2023-01-14 12:08:47 +01:00
geo-ant
e1305d3d8e fmt 2023-01-14 12:08:47 +01:00
geo-ant
8d1f684e45 change feature name to par-iter and add doc example to par_column_iter_mut 2023-01-14 12:08:47 +01:00
geo-ant
97861c8a5e add examples in par_column_iter method 2023-01-14 12:08:47 +01:00
geo-ant
83c2e27d6d start expanding docs(not done) 2023-01-14 12:08:40 +01:00
geo-ant
e9a5705e1a address review 2023-01-14 12:08:40 +01:00
geo-ant
e40687d8e6 replace confusing trait bounds with Scalar 2023-01-14 12:08:40 +01:00
geo-ant
85e7551c81 feature gate functionality 2023-01-14 12:08:40 +01:00
geo-ant
8638b796ac fix fmt 2023-01-14 12:08:10 +01:00
Geo
f6461d3862 make mut iterator pointer based
Change the ColumnIterMut back to the original impl and manually implement Send
2023-01-14 12:08:10 +01:00
geo-ant
42ab3f6903 fix clippy lints in my code 2023-01-14 12:08:10 +01:00
geo-ant
a4e28a136e apply fmt 2023-01-14 12:08:10 +01:00
geo-ant
daade1cf5e add documentation 2023-01-14 12:08:10 +01:00
geo-ant
7ac536be07 cleanups and add tests 2023-01-14 12:08:10 +01:00
geo-ant
f850ed535e add tests and start cleanup 2023-01-14 12:07:56 +01:00
geo-ant
0fcd9dd702 revert some things and add poc for mut and immut iterators 2023-01-14 12:07:36 +01:00
Sébastien Crozet
ed573d054c Fix tests 2023-01-13 10:10:53 +01:00
Sébastien Crozet
e959f2eb9c Fix CheckBytes derives + drop Complex rkyv support for now 2023-01-13 09:58:41 +01:00
Sébastien Crozet
cce66c3abf Merge branch 'dev' into dev-zyanshep 2023-01-13 09:19:49 +01:00
Andreas Longva
55c3a9c764 Formatting 2022-11-14 16:43:47 +01:00
Andreas Longva
31e687bd76 Implement Matrix::{as_view, as_view_mut} methods 2022-11-14 16:43:05 +01:00
Andreas Longva
234d61faa2 Rename SliceRange to DimRange 2022-11-14 14:47:43 +01:00
Andreas Longva
0c402318ec Rename internal assert_slice_index -> assert_view_index 2022-11-14 14:42:23 +01:00
Andreas Longva
8867b365e3 Rename slice -> view in parameter names, comments etc. 2022-11-14 14:40:53 +01:00
Andreas Longva
34f4537376 Use view* instead of slice* methods in src/ 2022-11-14 14:14:42 +01:00
Andreas Longva
0319d236af Deprecate+rename methods for slicing 2022-11-14 14:02:36 +01:00
Andreas Longva
eb456f18bb Move slice deprecation macro to lib.rs
This way we can use it across the library, in changes that
will follow this commit.
2022-11-14 10:56:14 +01:00
Andreas Longva
a68d9b5ded Rename construction_slice.rs -> construction_view.rs 2022-11-14 09:42:59 +01:00
Andreas Longva
2ca4b3b02d Deprecate MatrixSliceMutN
There is no other type alias with this naming convention. I believe it
is a remnant from the past, when we had e.g. MatrixN type aliases. But
these no longer exist, therefore I believe this alias should also be
removed, instead of updated to "MatrixViewMutN".
2022-11-14 09:41:04 +01:00
Andreas Longva
f792b5f568 Deprecate MatrixSliceMutMN
In the past, MatrixSliceMut did not have the same defaults. However,
for a while now MatrixSliceMut has served the exact same purpose
(in fact their definitions are identical), so we should
deprecate MatrixSliceMutMN.
2022-11-14 09:40:48 +01:00
Andreas Longva
7d5097b0b2 Remove use of deprecated *Slice aliases in nalgebra 2022-11-14 09:33:08 +01:00
Andreas Longva
e245e1148a Deprecate slice type aliases 2022-11-14 09:26:45 +01:00
Andreas Longva
4234883d23 Add View type aliases 2022-11-11 17:36:50 +01:00
Andreas Longva
9a7e92e902 Rename matrix_slice.rs to matrix_view.rs 2022-11-11 17:29:55 +01:00
Andreas Longva
29bff32d2d Rename MatrixSlice(Mut) to MatrixView(Mut)
Additionally introduce deprecated type aliases with the old names to avoid
a breaking change.
2022-11-11 16:10:40 +01:00
Andreas Longva
c8dfb5e348 Rename SliceStorage(Mut) to ViewStorage(Mut)
Additionally, we add type aliases with the old names to maintain
backwards compatibility with deprecation warnings.
2022-11-11 15:46:06 +01:00
_
c9fa7a35e7 Added try_cast() to Matrix 2022-10-27 19:56:38 +00:00
Peng Guanwen
2cbb27c6f8 Derive CheckBytes trait on Archive struct 2022-10-13 12:22:45 +00:00
zyansheep
525bc63de2 use patch for num-complex & refactor 2022-08-15 18:47:00 -04:00
Sébastien Crozet
d09d06858f
Merge pull request #1120 from Ralith/unit-vector-cast
Implement `cast` for `Unit<Vector<T, D, S>>`
2022-08-14 15:04:50 +02:00
Patrick Owen
84c44984b1 Use #[inline] to improve opt-level 1 performance 2022-08-12 01:33:11 -04:00
Ritoban Roy-Chowdhury
d3b7acce4d update DefaultAllocator docs to say ArrayStorage instead of GenericArray 2022-08-08 17:48:10 -07:00
Sébastien Crozet
89767ee9f3 Reduce code duplication for allocating a storage from a raw iterator. 2022-07-30 18:06:47 +02:00
Gianluca Oldani
59b01e955f Fixed formatting 2022-07-30 17:52:04 +02:00
Gianluca Oldani
8588ef8fb2 Sound implementation for from_row_iterator 2022-07-30 17:52:04 +02:00
Chammika Mannakkara
008511d96e from_row_iterator added 2022-07-30 17:52:04 +02:00
zyansheep
71379c0748 cargo fmt 2022-07-13 23:05:44 -04:00
zyansheep
9a98b0cf24 various implementations 2022-07-13 23:02:17 -04:00
zyansheep
a725faaf6a fix matrix impl 2022-07-13 14:32:46 -04:00
zyansheep
7cc885e861 fix some rkyv impls 2022-07-11 22:36:52 -04:00
Benjamin Saunders
8aa10b819c Implement cast for Unit<Vector<T, D, S>>
Currently, `cast` is resolved via `Unit`'s `Deref` impl, which leads
to it confusingly stripping the `Unit` from `UnitVector`s. Add an
inherent impl which takes precedence, similar to the existing
specialization for `UnitQuaternion`.
2022-06-11 11:13:31 -07:00
Sébastien Crozet
e913beca88 Switch to derive macros for rkyv and bytecheck 2022-04-30 10:47:30 +02:00
zyansheep
24b97932e1 add bytecheck impls 2022-04-30 10:36:39 +02:00
zyansheep
1b6f2b83f7 add bytecheck for matrix 2022-04-30 10:36:39 +02:00
zyansheep
90f2603de4 upgrade rkyv to 0.7 2022-04-30 10:36:39 +02:00
Sébastien Crozet
6a553f1ee2
Merge pull request #1098 from dimforge/explicit-const-dims
Simplify the type definitions of Const aliases, to help rust-analyzer
2022-03-24 10:00:36 +01:00
Sébastien Crozet
77cf2c935f
Merge pull request #1096 from sterlingjensen/cleanupdoc
Cleanup examples and doc links
2022-03-24 10:00:24 +01:00
sterlingjensen
44b700ecdf run cargo fmt 2022-03-23 22:08:20 -05:00
Sébastien Crozet
aa37f28dda Simplify the type definitions of Const aliases, to help rust-analyzer 2022-03-23 22:55:16 +01:00
sterlingjensen
724117e5ad Cleanup examples and doc links
Close example code fences and normalize containing head line in touched files.
Remove stale reference to `slice_assume_init` (commit 8c6ebf27), fix long dead internal links in deprecation notices.
2022-03-22 12:03:18 -05:00
Sébastien Crozet
d7117e228a Use cust_core instead of cust 2022-03-16 18:07:29 +01:00
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