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
Crozet Sébastien
bf0f3163ce
Rename some of the variables in dual-quaternion doc-tests.
2021-02-25 14:49:01 +01:00
Crozet Sébastien
162a7ef09c
Fix compilation when the mint or alga features are enabled.
2021-02-25 14:30:04 +01:00
Crozet Sébastien
af448d2c70
Add bytemuck impls to points.
2021-02-25 14:19:20 +01:00
Crozet Sébastien
0b1e6f0b05
Run cargo fmt.
2021-02-25 14:16:57 +01:00
Crozet Sébastien
dc15261ec1
Move the bytemuck impls to GenericArray and add a transitive impl for matrices.
2021-02-25 14:10:34 +01:00
Crozet Sébastien
234e103e4b
Fix compilation of the sparse module.
2021-02-25 13:52:58 +01:00
Avi Weinstock
ee32f7d4cf
Run `cargo fmt`.
2021-02-25 13:42:23 +01:00
Avi Weinstock
cd12422d6f
Change `zero_or_uninitialized_generic` to `unimplemented_or_uninitialized_generic`, and use it instead of manually dispatching on `feature=no_unsound_assume_init` in functions without `N: Zero`.
2021-02-25 13:42:23 +01:00
Avi Weinstock
36a3ac814f
Propagate `mem::MaybeUninit` through the return types of `Allocator::allocate_uninitialized` and `Matrix::new_uninitialized_generic`.
...
Most call sites still invoke UB through `assume_init`. Said call sites instead invoke `unimplemented!()` if the `no_unsound_assume_init` feature is enabled, to make it easier to gradually fix them.
Progress towards #556 .
2021-02-25 13:42:23 +01:00
Remco Bloemen
b25c2aa78c
Fix inner size
2021-02-25 13:31:16 +01:00
Remco Bloemen
d5ca2019a3
impl FusedIterator
2021-02-25 13:31:16 +01:00
Remco Bloemen
eb3d787ed6
Fix inner_size computation
2021-02-25 13:31:16 +01:00
Remco Bloemen
d49af8e8b2
Implement next_back
2021-02-25 13:31:16 +01:00
Remco Bloemen
73d6ba0ca1
Dummy implementation of DoubleEndedIterator
2021-02-25 13:31:16 +01:00
Crozet Sébastien
598c217d75
Move the col_piv_qr method to the decomposition module.
2021-02-25 13:28:42 +01:00
Crozet Sébastien
693e6d0035
Run cargo fmt.
2021-02-25 12:59:14 +01:00
Sébastien Crozet
adc82845d1
Merge pull request #823 from Andlon/sparse-rework
...
Sparse rework: nalgebra-sparse
2021-02-25 12:58:28 +01:00
Crozet Sébastien
308d95386e
Fix all tests and the ColPivQR::solve.
2021-02-25 12:06:04 +01:00
russellb23
63a34528e0
Added test for QR factorization and fixed unpack issue
2021-02-25 11:31:37 +01:00
russellb23
1316133625
Removed unused imports
2021-02-25 11:31:37 +01:00
russellb23
a2f3e1ac26
Inverted sign in householder
2021-02-25 11:31:37 +01:00
russellb23
f8c0195f0f
QR factorization with column pivoting
2021-02-25 11:31:37 +01:00
Crozet Sébastien
bafa1dcd97
Re-export simba::SimdValue.
2021-02-22 14:27:18 +01:00
Crozet Sébastien
478921881f
Add approximate rotation composition for unit-quaternion.
2021-02-22 14:27:08 +01:00