Commit Graph

311 Commits

Author SHA1 Message Date
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
18a8a30671 cargo fmt 2022-07-27 09:49:16 +02:00
Tim Taubner
ac203fe4fd Add test case for issue 628 2022-07-27 09:49:16 +02:00
Tim Taubner
257d95b3d3 Add test case for issue 1078 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
Joshua Smith
96e2d1f69e fixed cargo fmt 2022-03-29 13:42:38 -05:00
Joshua Smith
baa320d7f3 added tests for complex and quaternion slerp pathing 2022-03-29 13:38:10 -05:00
YuhanLiin
a27d121a7a Add regression test for #1072 2022-03-09 21:10:45 -05: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
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
metric-space
498d7e3d4c Semi-unitary test checks for if rows or cols are orthonomal 2021-12-30 21:18:58 -05:00
metric-space
ae6fda7dc7 Change svd to svd_unordered for the method output to be equal
Comment out unitary check for now
2021-12-30 21:12:37 -05:00
Sébastien Crozet
fdaf8c0fbe Add tests for Matrix::pow 2021-12-30 23:03:22 +01:00
Sébastien Crozet
67a82c2c88 Test: minor style fix 2021-12-30 22:28:55 +01:00
Sébastien Crozet
8e0ca439c2 Use proptest for testing the polar decomposition 2021-12-30 22:15:22 +01:00
metric-space
43c1f8fb9d Increased strength of tests for polar decomposition 2021-12-27 02:12:54 -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
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
Sébastien Crozet
88dd5442f3 Add an utility function to check if a slice is sorted in descending order. 2021-12-09 13:32:30 +01:00
Sébastien Crozet
412104fa0a Add comment about the origin of the failing 3x3 SVD matrix 2021-12-09 13:31:39 +01:00
Sébastien Crozet
e0a1b1bc34 Fix the special-case for 3x3 Real SVD 2021-12-09 11:52: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
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
Christopher Gundler
24d29c4de3 Allow sorting SVD according to singular values 2021-11-08 10:27:53 +01: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
85202f85f7
Merge pull request #986 from Ralith/concise-debug
Concise Debug impls
2021-09-25 17:23:14 +02:00
Mateusz Kowalczyk
d50af9dbfb
Add test for Cholesky::new_with_substitute 2021-09-13 09:08:37 +09: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
148b164aaa Fix tests 2021-08-04 17:56:57 +02:00
Sébastien Crozet
8c6ebf2757 Implement the single-allocator-trait approach. 2021-08-02 18:41:46 +02:00
Violeta Hernández
4bd13a509a Fix botched Search + Replace 2021-07-17 13:58:34 -05:00
Violeta Hernández
c01d591478 We have reached compilation! 2021-07-17 13:01:03 -05:00
nathan.eckert
dd1530adc3 Cargo fmt 2021-07-08 14:20:35 +02:00
nathan.eckert
639382ea49 Add failing test higlighting the issue 2021-07-08 11:23:41 +02:00
Violeta Hernández
281b140365
Fix most clippy warnings 2021-06-18 09:45:37 +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
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
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
041b8c4b2c Add macro sanity tests to macros 2021-05-03 13:52:34 +02:00
Andreas Longva
0bde07f95c Document that feature needs to be enabled, and require macros feature for tests 2021-05-03 13:52:34 +02:00
Crozet Sébastien
73cc9882b2 Fix compilation of nalgebra-lapack 2021-04-12 10:35:35 +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