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
Yuri6037
f7eec7317c
Update src/geometry/scale_conversion.rs
...
Removed return.
Co-authored-by: Sébastien Crozet <sebastien@crozet.re>
2021-10-24 20:27:54 +02:00
Yuri6037
5b44502632
Update src/geometry/scale.rs
...
Simplified code.
Co-authored-by: Sébastien Crozet <sebastien@crozet.re>
2021-10-24 20:27:38 +02:00
Yuri6037
26e36c15ba
Update src/geometry/scale.rs
...
Removed return
Co-authored-by: Sébastien Crozet <sebastien@crozet.re>
2021-10-24 20:25:48 +02:00
Yuri6037
6123c86f9e
Update src/geometry/scale.rs
...
Removed return
Co-authored-by: Sébastien Crozet <sebastien@crozet.re>
2021-10-24 20:24:16 +02:00
Yuri6037
91b8424a86
Update src/geometry/scale.rs
...
Removed return
Co-authored-by: Sébastien Crozet <sebastien@crozet.re>
2021-10-24 20:21:07 +02:00
Yuri6037
de41c42af7
Update src/geometry/scale.rs
...
Simplified code
Co-authored-by: Sébastien Crozet <sebastien@crozet.re>
2021-10-24 20:20:13 +02:00
Yuri Edward
b91ead7971
Fixed Subset for Matrix
2021-10-21 15:56:07 +02:00
Yuri Edward
4466fb2514
Added point * vector
2021-10-21 15:47:00 +02:00
Yuri Edward
99704a0ea1
Updated all examples related to inversion API
2021-10-21 15:22:18 +02:00
Yuri Edward
82b8ac84a0
Fixed code formatting
2021-10-21 15:10:26 +02:00
Yuri Edward
a64417870b
Changed inverse API to pseudo_inverse, try_inverse, try_inverse_mut, try_inverse_transform_point, inverse_unchecked.
2021-10-21 15:06:25 +02:00
Yuri Edward
1341801c56
Added scale * scalar + Cleanup scale_ops
2021-10-19 16:33:12 +02:00
Yuri Edward
865ac001d3
Re-armed scale_simba
2021-10-19 16:20:25 +02:00
Yuri Edward
94ef916f49
Fixed cargo fmt
2021-10-19 16:18:25 +02:00
Yuri Edward
0e2865085e
Updated doc tests
2021-10-19 16:09:06 +02:00
Yuri Edward
d82b39ca9a
Added to_homogeneous
2021-10-19 16:01:02 +02:00
Yuri Edward
f1f947b924
Added to_homogeneous
2021-10-19 15:55:06 +02:00
Yuri Edward
c249cc76b0
Added inverse, inverse_mut inverse_transform_point and transform_point
2021-10-19 15:02:50 +02:00
Yuri Edward
cf811abb92
Added identity()
2021-10-19 14:47:46 +02:00
Yuri Edward
bfb4aceede
Updated operator overloads + fixed scale_construction
2021-10-19 14:31:20 +02:00
Yuri Edward
9c506b18e1
Renamed all instances of Translation to Scale
2021-10-19 14:21:26 +02:00
Yuri Edward
1252fb00a0
Added scale.rs
2021-10-19 14:05:51 +02:00
Yuri Edward
8c6ad490bc
Initial commit copy all translation_x files into scale_x files
2021-10-19 14:02:07 +02:00
Sébastien Crozet
ec700ab7cf
Fix conflicting Default impl for unit-quaternions.
2021-10-14 11:48:12 +02:00
Sébastien Crozet
7275b5146e
Implement Default for most geometry types
2021-10-14 11:39:22 +02: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
Sébastien Crozet
85202f85f7
Merge pull request #986 from Ralith/concise-debug
...
Concise Debug impls
2021-09-25 17:23:14 +02:00
Sébastien Crozet
dd8b6800f5
Merge pull request #992 from MaxVerevkin/exp-rs
...
exp.rs: factorial(): use precomputed factorial array
2021-09-25 12:32:11 +02:00
Sébastien Crozet
d12ad891f9
Merge pull request #981 from geieredgar/dev
...
Implement conversion traits for glam 0.18
2021-09-25 12:12:25 +02:00
Max Verevkin
ad8250c361
exp.rs: factorial(): use precomputed factorial array
2021-09-21 23:14:42 +03:00
Sébastien Crozet
654eca7f80
Merge pull request #979 from Fuuzetsu/cholesky-lax
...
Allow setting Cholesky field directly; more lax decomposition method
2021-09-17 05:16:39 -07: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
Mateusz Kowalczyk
fc3526b58a
Allow fallback value for Cholesky decomposition
...
This is useful in case where the values are very close to zero or
possibly even slightly negative. This can quite easily happen due to
numerical errors.
A common strategy is to replace these values with a small epsilon value
that keeps the matrix SPD. Some libraries even do this by default (such
as https://github.com/STOR-i/GaussianProcesses.jl/issues/1 ).
We point the user to `LU` decomposition and also make it clearer that
the method is basically a hack. The public method no longer takes an
`Option` which didn't really make sense. A private method is used to not
repeat implementation in `new`.
2021-09-03 09:01:04 +09:00
Mateusz Kowalczyk
a4c2ca941d
Allow constructing Cholesky struct directly
...
This is useful if there the data for the matrix comes from elsewhere,
such as a custom algorithm. One such use-case can be seen
https://github.com/nestordemeure/friedrich/issues/43 where we do special
handling for the try_sqrt or is_zero cases that would normally fail the
decomposition in `Cholesky::new()`.
2021-09-03 09:01:04 +09:00
Edgar Geier
bc21b6f1e6
Add support for conversion with glam 0.18
2021-08-30 18:31:21 +02:00
Sébastien Crozet
319597e137
Merge pull request #974 from cchillen/RotationDocumentation
...
Improve clarity of Rotation doc comments
2021-08-30 10:32:47 +02: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
cchillen
5b84c46840
Update imports in doc example.
2021-08-28 09:41:09 -04:00
cchillen
25341e40f0
Improve clarity of Rotation doc comments
...
The doc comments for `Rotation` incorreclty refer to quaternion instead of a rotation matrix. No code change, purely documentation.
2021-08-28 09:09:53 -04:00
raimundo saona
2233a38048
Implement conversion methods for RowDVector
2021-08-26 11:07:00 +02:00
Sébastien Crozet
bd9e0fb72c
Add support for conversion with glam 0.16 and 0.17
2021-08-08 17:41:10 +02:00
Sébastien Crozet
a9ed6cb621
Fix wrong sign in UnitComplex::axis_angle
2021-08-08 13:23:09 +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
Sébastien Crozet
441bfcb3ff
Merge pull request #955 from qu1x/reflection
...
Add bias getter and alias for reflection.
2021-08-01 10:29:11 +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
Sébastien Crozet
2a80e96766
Merge pull request #948 from CAD97/ops-transform-complex
...
Add Transform × UnitComplex & friends
2021-07-27 15:22:53 +02:00
Sébastien Crozet
99a79d51f5
Merge pull request #925 from CAD97/bytemuck
...
Impl bytemuck traits for geometry types
2021-07-27 15:19:14 +02:00
Sébastien Crozet
15c4a25c96
Merge pull request #950 from CAD97/moar-const
...
Make `from_matrix_unchecked`es const
2021-07-27 15:18:42 +02:00
Rouven Spreckels
9824fbc67b
Add reflection alias.
2021-07-27 15:18:07 +02:00
Rouven Spreckels
06e20b4b95
Add getter for reflection bias. Fix typos.
2021-07-27 15:17:30 +02:00
Sébastien Crozet
0d3af06e01
Merge pull request #952 from remilauzier/dev
...
Fix rust_2018_idioms warnings
2021-07-27 10:29:40 +02:00
Andreas Longva
de540aa7ff
Do not require T: (De)Serialize for OPoint impl
...
The bounds recently got a little too strict by accident.
2021-07-26 17:57:24 +02:00
Rémi Lauzier
ed6b34a0d6
Fix rust_2018_idioms warnings
2021-07-25 13:18:21 -04:00
CAD97
ceb30a68b8
Fix a few bitrotted user guide links
2021-07-23 21:22:59 -05:00
CAD97
04dd3ff241
Make some from_matrix_unchecked const
2021-07-22 18:07:12 -05:00
Christopher Durham
07c3fbc191
Merge branch 'dev' into bytemuck
2021-07-22 17:47:57 -05: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
CAD97
b1775ee747
Add Transform × UnitComplex & friends
2021-07-14 23:52:38 -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
c320988088
Merge pull request #944 from vadixidav/dev
...
import macros from alloc
2021-07-11 17:47:51 +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
Geordon Worley
02e9ac4cad
import macros from alloc to solve issues with missing format! macro, among other issues
2021-07-10 18:33:11 -05:00
Sébastien Crozet
7bcb54641d
Merge pull request #943 from dimforge/point_dim_name
...
Add a OPoint type that takes type-level integers instead of const-generics
2021-07-10 11:40:31 +02:00
Sébastien Crozet
ac61e112dd
Merge pull request #932 from CAD97/moar-const
...
Remove scalar bound from geometry type defs
2021-07-10 11:28:23 +02:00
Crozet Sébastien
2ce6811e2c
Fix compilation when enabling the bytemuck feature.
2021-07-10 11:24:23 +02:00
CAD97
85d07b22a3
FIx serde impl bounds
2021-07-09 15:30:06 -05:00
CAD97
22ba88353a
Fix bounds for bytemuck impls
2021-07-09 15:23:08 -05: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
1fc29dcf63
Merge pull request #930 from CAD97/patch-1
...
impl Hash for Transform
2021-07-06 01:09:00 -07:00
CAD97
314b4dd103
Remove scalar bound from geometry type defs
...
This was inconsistently applied, with some types having <T>, some having
<T: Scalar>, and some having <T: RealField>.
This unifies all types to match the convention of Matrix:
Just declare <T> at type def time, and apply bounds on impls only.
A significant advantage of this approach is const fn construction. Const
fn generics currently still can't have trait bounds, so any generic
const fn needs to only move opaque types around. Construction methods
such as new_unchecked or from_parts can be made const by removing their
generic bounds after this PR.
Actual constification is left to a follow-up PR.
Note that na::Transform is _not_ loosened here, as it has more complicated
definition requirements.
2021-07-05 19:04:10 -05:00
Christopher Durham
1eeaf3526c
Rotation::matrix_mut_unchecked may not cause UB
...
...because it isn't unsafe, so clarify the documentation to match.
2021-07-05 18:53:11 -05:00
Christopher Durham
3b4b661756
impl Hash for Transform
...
This just fixes the types in the existing TODO to compile.
2021-07-05 18:36:33 -05: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
Andreas Longva
92c26334ec
Fix serde impls and Distribution impl for OPoint
2021-07-02 12:01:01 +02:00
CAD97
396d3d6615
Add missing repr(C) on bytemuckable geometry types
2021-06-28 20:49:57 -05:00
CAD97
cb0812aaf3
Add bytemuck impls to geometry types
2021-06-28 20:36:28 -05:00
Crozet Sébastien
16b8f4812d
Define OPoint, a generic point with D: DimName
...
And define Point<T, const D: usize> as an alias for OPoint.
2021-06-26 18:39:20 +02: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
d64e799fc9
Fixes #909 ( #917 )
2021-06-17 09:45:33 +02:00
Violeta Hernández
7643a24cc1
`Result<(), ()>` to `bool` ( #916 )
2021-06-17 09:44:06 +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
d85c10a73c
Add some missing question marks
2021-06-06 11:34:29 +02:00
Malte Tammena
925fc1edd7
Annotate functions with #[must_use] where appropriate
2021-06-06 11:28:12 +02:00
Crozet Sébastien
7acd4ecdcc
Fix bug in the glam conversion Vec2 -> Isometry2
2021-06-04 10:52:28 +02:00
Crozet Sébastien
dfc8ad3d6a
Release v0.27.0
2021-06-02 15:15:17 +02:00
Crozet Sébastien
47a4f52e8d
Replace unchecked glam conversion by TryFrom or checks
2021-06-01 10:48:24 +02:00
Crozet Sébastien
4af979c55b
Support multiple version of the optional glam conversion
2021-06-01 10:27:32 +02:00
Crozet Sébastien
8810b85a2f
Add a point! macro for construction points
...
This macro is similar to the `vector!` macro, except that it builds a point instead of a vector.
2021-05-24 17:53:59 +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
eeab4db69a
Add nalgebra/macros feature and re-export matrix macros from nalgebra
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
d59d438189
Add more conversion for glam types
...
Add Isometry3 <-> (Vec3, Quat)
Add Isometry2 <-> (Vec3, Quat)
Add Translation2/3/4 <-> Vec2/3/4
2021-04-27 13:21:46 +02:00
Crozet Sébastien
65b94ccb91
Add more conversions for translations
...
Add [T; D] <-> Translation<T, D>
Add Point<T, D> -> Translation<T, D>
2021-04-27 13:17:51 +02:00
Crozet Sébastien
db27a080f1
Cleanup conversions between points and static vectors.
2021-04-27 13:17:12 +02:00
Crozet Sébastien
09be376cd9
Add more conversion for Isometry
...
Add [T; D] -> Isometry<T, R, D>
Add SVector<T, D> -> Isometry<T, R, D>
Add Point<T, D> -> Isometry<T, R, D>
2021-04-27 13:16:44 +02: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
bc7db9d139
Mark as const-fn some constructors of Point, Translation, Quaternion
2021-04-12 10:32:17 +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
600bb175e7
Fix compilation with the mint feature.
2021-04-11 14:35:10 +02:00
Crozet Sébastien
3d834e08c9
Run cargo fmt
2021-04-11 14:09:01 +02:00
Crozet Sébastien
cc4427e52b
Make matrix power work for non-owned matrices.
2021-04-11 14:07:06 +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
Sébastien Crozet
b2dadffcf2
Merge pull request #864 from vks/idiomatic-rand
...
More idiomatic use of Rand
2021-04-11 13:52:48 +02:00
Sébastien Crozet
2ebba30117
Merge pull request #861 from jturner314/fix-cholesky-det-complex
...
Fix Cholesky::determinant for complex elements
2021-04-11 13:49:35 +02:00
Sébastien Crozet
b9a524427b
Merge pull request #859 from OfficialURL/dev
...
Added pow functions
2021-04-11 13:44:06 +02:00
Vinzent Steinberg
7417f6cbca
UnitComplex: More efficient sampling
2021-04-10 03:49:46 -03:00
Vinzent Steinberg
09f26385cc
Comment about faster impl for unit sphere sampling
2021-04-10 03:36:21 -03:00
Vinzent Steinberg
c8fe49b1e9
Add some comments about random variates
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
Violeta Hernández
341091f647
`pow_mut` now returns `Result`.
2021-04-10 00:12:26 -05:00
Violeta Hernández
81f2fc38d7
Use mul_to instead of square_buf
...
Didn't realize that this was something that was already implemented.
2021-04-09 23:59:22 -05:00
Violeta Hernández
15a63cb892
Memory improvements, extra comments.
...
The result of `multiplier ^ 2` is now written into a single buffer.
2021-04-09 23:43:59 -05:00
Vinzent Steinberg
260ee54288
Disable some tests if "rand" feature is disabled
...
This avoids some misleading errors for `cargo test`.
2021-04-10 01:00:12 -03:00
Jim Turner
cea3bdc8e5
Fix Cholesky::determinant for Complex elements
...
The previous implementation was correct only for real elements. The
Cholesky decomposition is `L L^H`, so the determinant is `det(L) *
det(L^H)`. Since `L` is a triangular matrix, `det(L)` is the product
of the diagonal elements of `L`. Since `L^H` is triangular and its
diagonal elements are the conjugates of the diagonal elements of `L`,
`det(L^H)` is the conjugate of `det(L)`. So, the overall determinant
is the product of the diagonal elements of `L` times its conjugate.
2021-04-09 14:28:16 -04:00
Jim Turner
50fed194f4
Add determinant method to Cholesky
2021-04-07 23:10:19 -04:00
Violeta Hernández
06b657ad49
Added pow_mut.
...
Actually, I think this will do.
2021-04-05 12:32:12 -05:00
Violeta Hernández
ab85766b5a
Added pow function.
...
I'll try adding some unchecked and in place variants soon.
2021-04-05 12:17:49 -05: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
2dae1ca44f
Add conversion of Similarity from/to glam types.
2021-03-06 12:39:53 +01:00
Crozet Sébastien
bdf0de68cf
Add conversion of Rotation and UnitComplex from/to glam types.
2021-03-06 12:39:53 +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
5b9b94c610
Release v0.25.0
2021-03-01 14:25:29 +01:00
Crozet Sébastien
6cfd2bca14
Use proptest for all nalgebra tests.
2021-02-28 17:52:14 +01:00
Crozet Sébastien
7b6b3649f2
Run cargo fmt.
2021-02-25 16:20:11 +01:00
Crozet Sébastien
6699039fec
Fix rebase-induced compilation error.
2021-02-25 15:51:13 +01:00
Crozet Sébastien
aeb9f7ea39
Add a matrix.udu() method to compute the UDU decomposition.
2021-02-25 15:49:24 +01:00
Crozet Sébastien
ab0d335b61
Fix tests for the UDU decomposition.
2021-02-25 15:48:44 +01:00
Christopher Rabotin
89ca2fe5fb
UDU only supported for Real matrices, not Complex
...
Signed-off-by: Christopher Rabotin <christopher.rabotin@gmail.com>
2021-02-25 15:48:44 +01:00
Christopher Rabotin
4ff4911ac3
Implement requested changes
...
Signed-off-by: Christopher Rabotin <christopher.rabotin@gmail.com>
2021-02-25 15:48:44 +01:00
Chris
06861a9755
Update src/linalg/udu.rs
...
Co-authored-by: Sébastien Crozet <sebastien@crozet.re>
2021-02-25 15:48:44 +01:00
Christopher Rabotin
7a49b9eeca
UDU: d now stored in VectorN instead of MatrixN
...
Signed-off-by: Christopher Rabotin <christopher.rabotin@gmail.com>
2021-02-25 15:48:44 +01:00
Christopher Rabotin
e9933e5c91
UDU: Expand to Dim from DimName
...
Signed-off-by: Christopher Rabotin <christopher.rabotin@gmail.com>
2021-02-25 15:48:44 +01:00
Christopher Rabotin
5a7ed61e9b
UDU impl: using 0-index nomenclature
...
Signed-off-by: Christopher Rabotin <christopher.rabotin@gmail.com>
2021-02-25 15:48:44 +01:00
Christopher Rabotin
a8d40423ea
Fixed UDU algorithm
...
Signed-off-by: Christopher Rabotin <christopher.rabotin@gmail.com>
2021-02-25 15:48:44 +01:00
Christopher Rabotin
8dda6714b5
Untested UDU implementation
...
Pushing to trigger build
Signed-off-by: Christopher Rabotin <christopher.rabotin@gmail.com>
2021-02-25 15:48:44 +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
fa2e025a1e
Merge pull request #824 from tpdickso/dual_quaternion
...
Implement additional `DualQuaternion` ops and `UnitDualQuaternion`
2021-02-25 15:46:34 +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
Sébastien Crozet
bc6faa22f3
Merge pull request #797 from Recmo/remco/feat/double-ended-iter
...
impl DoubleEndedIterator for {MatrixIter, MatrixIterMut}
2021-02-25 15:46:11 +01:00
Sébastien Crozet
06f92ad1e3
Merge pull request #613 from russellb23/dev
...
QR factorizatio nwith column pivoting
2021-02-25 15:45:58 +01:00
Crozet Sébastien
a32f41bd41
Fix compilation when targetting no-std.
2021-02-25 15:03:35 +01:00