Sébastien Crozet
d54c56fd43
Fix potential unsoundness in ColumnIter::split_at
2023-01-14 15:37:12 +01:00
Sébastien Crozet
1f4ded0c50
Don’t make the ColumnIter[Mut] fields pub(crate)
2023-01-14 15:30:00 +01:00
Sébastien Crozet
9e5854034c
Merge pull request #1192 from fortify-iq/ln-determinant
...
Add ln_determinant to Cholesky
2023-01-14 14:41:57 +01:00
Hennadii Chernyshchyk
ff88fad23c
Remove redundant `T::SimdRealField: Zero`
2023-01-14 13:25:38 +02:00
Sébastien Crozet
5e26b8e121
Remove unused import
2023-01-14 12:19:36 +01:00
geo-ant
50e25c57f7
fmt
2023-01-14 12:08:47 +01:00
geo-ant
61abece7af
create separate newtype for producer trait
2023-01-14 12:08:47 +01:00
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
Hennadii Chernyshchyk
f333bb4ba5
Update src/linalg/cholesky.rs
...
Co-authored-by: Sébastien Crozet <sebastien@crozet.re>
2023-01-14 13:03:09 +02:00
Sébastien Crozet
5ed215932c
Slightly change comment wording.
2023-01-14 12:02:37 +01:00
Maxim Zhiburt
3d31f32251
update try_inverse doc comment
2023-01-14 12:00:52 +01:00
Sébastien Crozet
dc1b291ece
Merge pull request #1179 from timethy/euler-angles-patch
...
Fix typo in `euler_angles()`, and cache cosine computation.
2023-01-14 11:48:22 +01:00
Hennadii Chernyshchyk
598cb4fa8d
Add ln_determinant to Cholesky
2023-01-13 13:14:55 +02:00
Sébastien Crozet
00f1f11ca5
Deny unused_qualifications
2023-01-13 10:28:22 +01:00
Sébastien Crozet
ed573d054c
Fix tests
2023-01-13 10:10:53 +01:00
Sébastien Crozet
e24acba5f9
cargo fmt
2023-01-13 10:05:52 +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
Liam
b2da4609cf
Update isometry.rs
...
Fix formatting of documentation so that "A 3D isometry is composed of:" is on its own line.
2022-12-21 18:51:02 +11: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
devil-ira
8601c655de
Support conversion for glam 0.22
2022-11-05 00:33:38 +01:00
Allan Zhang
20dbfbd6f9
Use parenthesis for exclusive lower bound
...
Changes `]0, pi]` to `(0, pi]`.
Replaces PR #1173 and resolves Issue #1164 .
2022-11-04 09:34:46 -04: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
Sébastien Crozet
1870080f94
Remove const for Point1::new when targetting cuda
2022-09-24 10:13:15 +02:00
Sébastien Crozet
1079f0c1c3
Add a non-const version of Point::new when the cuda feature is enabled
2022-09-24 09:50:58 +02:00
Patiga
3aca9af616
Link listed types in lib.rs to their docs
...
Helpful because lib.rs is the 'main page' for docs.rs
This allows for easy/direct access to the mentioned types
Currently you need to look up mentioned types via the search bar
2022-09-04 00:39:57 +02: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
Sébastien Crozet
0fcf2f61d2
Merge pull request #1112 from SolraBizna/point-construction-const-fn
...
Make "Point::new" a const fn
2022-08-14 15:03:09 +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
d5284a2a86
Remove unused extern crate.
2022-07-30 18:16:18 +02: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
Sébastien Crozet
d0d88f1e82
Merge pull request #1113 from trueb2/user/trueb2/fix-unitcomplex-assertion
...
Fix UnitComplex cast doctest failure on macOS
2022-07-30 17:33:13 +02:00
Tim Taubner
0c2d9deac7
cargo fmt
2022-07-27 11:44:42 +02:00
Tim Taubner
7aadbcf21d
From_rotation_matrix: Use the larger of eps.sqrt() or eps*eps as disturbance. Add tests for eps > 1.0
2022-07-27 11:31:43 +02:00
Sébastien Crozet
26e69863e1
Rotation from matrix: small code cleanups
2022-07-27 09:49:16 +02:00
Tim Taubner
d515e4f1be
Perturbations to check for convergence into maximum.
2022-07-27 09:49:16 +02:00
Tim Taubner
f9aa2d76aa
Start from random rotation in from_matrix to prevent issues when calling from_matrix on rotation matrices
2022-07-27 09:49:16 +02:00
devil-ira
238750fb30
Use `From` trait to convert glam types to arrays.
2022-07-23 23:55:40 +02:00
devil-ira
1e31e6ba69
Add feature `convert-glam021`.
2022-07-23 17:39:59 +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
Jacob Trueb
0cdf3ce452
Fix UnitComplex cast doctest failure on macOS
2022-05-25 17:51:19 -05:00
Solra Bizna
4d968da1ad
Make "Point::new" a const fn
2022-05-25 16:42:18 -06: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
c9bf6aa95f
Fix warnings
2022-04-28 14:58:15 +02:00
Sébastien Crozet
adb3820305
glam: add conversion from Vec2/3/4 to UnitVector2/3/4 + remove ambigous conversions
2022-04-28 14:53:14 +02:00
Sébastien Crozet
96d4d98811
Merge pull request #1094 from jsmith628/complex-slerp-fix
...
fix for `UnitComplex::slerp()` #1093
2022-04-26 18:26:27 +02:00
Joshua Smith
b02e4ec2a9
fixed cargo fmt error
2022-03-26 17:32:12 -05: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
Joshua Smith
27a349d282
fix for `UnitComplex::slerp()` #1093
2022-03-21 16:08:53 -05:00
Sébastien Crozet
d7117e228a
Use cust_core instead of cust
2022-03-16 18:07:29 +01:00
YuhanLiin
1acd48f6f1
Address review comments
2022-03-09 21:04:43 -05:00
YuhanLiin
325618ba22
Fix SVD instability bug
2022-03-09 02:13:12 -05: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
87a6f4965b
Add support for conversion with glam 0.19 and 0.20
2022-01-09 13:43:45 +01:00
Sébastien Crozet
c0f8530d5e
Merge pull request #1055 from dimforge/fix-pow
...
Fix Matrix::pow and make it work with integer matrices
2021-12-31 09:57:56 +01:00
Sébastien Crozet
99ac8c4032
Merge pull request #1050 from metric-space/polar-decomposition-take-2
...
Take-2 of polar-decomposition
2021-12-31 09:57:08 +01:00
Sébastien Crozet
d806669cc7
Fix Matrix::pow and make it work only with positive exponents
2021-12-30 23:03:43 +01:00
Sébastien Crozet
cc10b67dd1
Add Matrix::try_polar that returns Option and make Matrix::polar not return Option
2021-12-30 22:15:04 +01: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
Sébastien Crozet
2844c55de2
Merge pull request #1053 from rokonio/patch-1
...
Fix a typo in a comment
2021-12-30 21:46:47 +01:00
Rokonio
05320147b1
Fix a typo in a comment
2021-12-29 18:46:01 +01:00
metric-space
dbaefed8d1
Fix doc typos
2021-12-26 21:05:42 -05:00
metric-space
ac94fbe831
Add polar decomposition method to main matrix decomposition interface
...
Add one more test for decomposition of polar decomposition of rectangular matrix
2021-12-26 21:01:05 -05:00
Leon
20a86d6613
doc fix: QR -> LU
2021-12-22 19:10:55 +00:00
metric-space
6ac6e7f75e
First compiling commit for take-2 of polar-decomposition:
...
Code inspired by this thread: https://github.com/dimforge/nalgebra/pull/656
Main person behind this is LucasCampos
2021-12-22 00:12:27 -05: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
e0a1b1bc34
Fix the special-case for 3x3 Real SVD
2021-12-09 11:52:37 +01:00
Sébastien Crozet
9389cf2adc
Merge pull request #1034 from dimforge/specific_svd
...
Add dedicated implementations of SVD for 2x2 and 3x3 real matrices.
2021-12-01 13:55:10 +01: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
49e9ceea30
Add dedicated implementations of SVD for 2x2 and 3x3 real matrices.
2021-11-26 17:45:42 +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
10150ec783
Merge pull request #1016 from tpdickso/fix-dual-quaternion-sclerp
...
Don't panic ScLERPing `UnitDualQuaternion` with equal rotation
2021-11-21 17:57:34 +01:00
Terence
0ecbed512b
cargo fmt
2021-11-20 09:12:45 -05:00
Christopher Gundler
24d29c4de3
Allow sorting SVD according to singular values
2021-11-08 10:27:53 +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
Terence
3df81c7cc9
fix docs
2021-10-28 00:05:50 -04:00
Terence
dfb7b6af22
Don't panic ScLERPing `UnitDualQuaternion` with equal rotation
...
Solves #1013 .
Previously, when screw-linearly interpolating two unit dual quaternions
that had an identical orientation, `try_sclerp` would return `None`, as
the operation would introduce a division-by-zero.
This PR splits out the cases where two unit dual quaternions have an
identical orientation from the cases where they have opposite
orientations. In the case where they have identical orientations, the
operation is well-defined, but the exponential parameterization could
not handle it without introducing NaNs. Therefore, the function detects
this case and simply defaults to linearly interpolating the
translational components and using one of the two inputs' rotation
components.
The case where the inputs have opposite rotations is now detected
separately using the dot product of the real (rotation) parts, which was
already being computed anyway.
Also introduces proptests for these specific scenarios, to avoid any
regression.
2021-10-28 00:02:20 -04:00
Sébastien Crozet
e05bfe48b3
Merge pull request #1012 from Yuri6037/scale
...
Scale
2021-10-25 10:20:07 +02:00
Sébastien Crozet
4be7db36fd
Remove useless `into_owned`.
2021-10-25 09:57:58 +02:00
Yuri Edward
209f77ccaf
Fixed from_superset_unchecked
2021-10-24 22:26:01 +02:00
Yuri Edward
25dba52197
Removed additional into_owned call
2021-10-24 21:58:05 +02:00
Yuri Edward
54b8a5b900
Rollbacked buggy update
2021-10-24 21:55:11 +02:00
Yuri Edward
50f65123b5
Merge branch 'scale' of github.com:Yuri6037/nalgebra into scale
2021-10-24 21:52:45 +02:00
Yuri6037
b8800ccd15
Update src/geometry/scale_conversion.rs
...
Co-authored-by: Sébastien Crozet <sebastien@crozet.re>
2021-10-24 21:52:35 +02:00
Yuri Edward
9d2639b742
Removed clippy suspicious_arithmetic_impl allow
2021-10-24 21:51:36 +02:00
Yuri Edward
866cabaa28
Merge remote-tracking branch 'origin/scale' into scale
2021-10-24 20:55:35 +02:00
Yuri Edward
6d3978b212
Added Scale *= scalar + reordered ops
2021-10-24 20:55:10 +02:00
Yuri Edward
0aba533556
Added Scale * Vector
2021-10-24 20:45:40 +02:00
Yuri6037
8efa9f76b7
Update src/geometry/scale_coordinates.rs
...
Co-authored-by: Sébastien Crozet <sebastien@crozet.re>
2021-10-24 20:41:27 +02:00
Yuri6037
510ffcbb18
Update src/geometry/scale_coordinates.rs
...
Co-authored-by: Sébastien Crozet <sebastien@crozet.re>
2021-10-24 20:41:21 +02:00
Yuri Edward
c11e1ffb4d
Fixed missing curly bracket
2021-10-24 20:40:02 +02:00
Yuri6037
ded853757c
Update src/geometry/scale.rs
...
Co-authored-by: Sébastien Crozet <sebastien@crozet.re>
2021-10-24 20:31:35 +02:00