Add conversion from/to types of glam 0.19 and 0.20.
[0.30.0] (02 Jan. 2022)
Breaking changes
The Dim trait is now marked as unsafe.
The Matrix::pow and Matrix::pow_mut methods only allow positive integer exponents now. To compute negative
exponents, the user is free to invert the matrix before calling pow with the exponent’s absolute value.
Remove the Bounded requirement from RealField. Replace it by methods returning Option<Self> so that they can
still be implemented by unbounded types (by returning None).
The ComplexField trait derives from FromPrimitive again. We can actually keep this because all its methods
return Option<Self>, meaning that it could be implemented by any type.
Modified
Use more concise debug impls for matrices and geometric transformation types.
The singular values computed by the SVD are now sorted in increasing order by default. Use SVD::new_unordered
instead to reproduce the older behavior without the sorting overhead.
The UnitDualQuaternion::sclerp method will no longer panic when given two equal rotations.
The Matrix::select_rows and Matrix::select_columns methods no longer require the matrix components to implement
the trait Zero.
The Matrix::pow and Matrix::pow_mut methods will now also work with integer matrices.
Added
Added the conversion trait From<Vec<T>> and method from_vec_storage for RowDVector.
Added implementation of From and Into for converting between nalgebra types and types from
glam 0.18. These can be enabled by enabling the convert-glam018 cargo features.
Added the methods Matrix::product, ::row_product, ::row_product_tr, and ::column_product to compute the
product of the components, rows, or columns, of a single matrix or vector.
The Default trait is now implemented for most geometric types: Point, Isometry, Rotation, Similarity,
Transform, UnitComplex, and UnitQuaternion.
Added the Scale geometric type for representing non-uniform scaling.
Added Cholesky::new_with_substitute that will replace diagonal elements by a given constant whenever Cholesky
meets a non-definite-positiveness.
Re-added the conversion from a vector/matrix slice to a static array.
Added the cuda feature that enables the support of rust-cuda for using
nalgebra features with CUDA kernels written in Rust.
Added special-cases implementations for the 2x2 and 3x3 SVDs for better accuracy and performances.
Added the methods Matrix::polar, Matrix::try_polar, and SVD::to_polar to compute the polar decomposition of
a matrix, based on its SVD.
nalgebra-sparse: provide constructors for unsorted but otherwise valid data using the CSR format.
nalgebra-sparse: added reading MatrixMarked data files to a sparse CooMatrix.
Fixed
Fixed a potential unsoundness with matrix.get(i) and matrix.get_mut(i) where i is an usize, and matrix
is a matrix slice with non-default strides.
Fixed potential unsoundness with vector.perp where vector isn’t actually a 2D vector as expected.
Fixed linkage issue with nalgebra-lapack: the user of nalgebra-lapack no longer have to add
extern crate lapack-src to their main.rs.
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Updates the requirements on nalgebra to permit the latest version.
Changelog
Sourced from nalgebra's changelog.
... (truncated)
Commits
6b1e14c
Release v0.30.12026cb3
Merge pull request #1062 from dimforge/glam-02087a6f49
Add support for conversion with glam 0.19 and 0.20e8b9c40
Release v0.30.0c0f8530
Merge pull request #1055 from dimforge/fix-pow99ac8c4
Merge pull request #1050 from metric-space/polar-decomposition-take-2498d7e3
Semi-unitary test checks for if rows or cols are orthonomalae6fda7
Change svd to svd_unordered for the method output to be equald806669
Fix Matrix::pow and make it work only with positive exponentsfdaf8c0
Add tests for Matrix::powDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)