All Versions
51
Latest Version
Avg Release Cycle
70 days
Latest Release
556 days ago
Changelog History
Page 1
Changelog History
Page 1
-
v0.31.2 Changes
October 09, 2022Modified
- π Use
#[inline]
on theDim
implementation forConst
to improve opt-level 1 performance. - π Make the
Point::new
constructions const-fn.
β Added
- β Add
UnitVector::cast
to change the underlying scalar type.
- π Use
-
v0.31.1 Changes
July 31, 2022Modified
- π Improve performances of multiplication of two sparse matrices.
β Added
- Add
Matrix::from_row_iterator
to build a matrix from an iterator yielding components in row-major order. - β Add support for conversion from/to types of
glam
0.21. - π
nalgebra-sparse
: add support for the matrix-market export of sparse matrices. nalgebra-lapack
: add aGE
for solving the generalized eigenvalues problem.
π Fixed
- Fix
Rotation3::from_matrix
andUnitQuaternion::from_matrix
when the input matrix is already a valid rotation matrix.
-
v0.31.0 Changes
April 30, 2022π₯ Breaking changes
- π Switch to
cust
0.3 (for CUDA support). - Switch to
rkyv
0.7 - β Remove support for serialization based on
abomonation
. - β Remove support for conversions between
nalgebra
types andglam
0.13.
Modified
- The aliases for
Const
types have been simplified to helprust-analyzer
.
β Added
- β Add
TryFrom
conversion betweenUnitVector2/3/4
andglam
βsVec2/3/4
. - π
nalgebra-sparse
: added support for serialization of sparse matrices withserde
. - π
nalgebra-sparse
: add a CSC matrix constructor from unsorted (but valid) data. nalgebra-lapack
: add generalized eigenvalues/eigenvectors calculation + QZ decomposition.
π Fixed
- π Improve stability of SVD.
- π Fix slerp for
UnitComplex
.
- π Switch to
-
v0.30.1 Changes
January 09, 2022β Added
- β Add conversion from/to types of
glam
0.19 and 0.20.
- β Add conversion from/to types of
-
v0.30.0 Changes
January 02, 2022π₯ Breaking changes
- The
Dim
trait is now marked as unsafe. - The
Matrix::pow
andMatrix::pow_mut
methods only allow positive integer exponents now. To compute negative exponents, the user is free to invert the matrix before callingpow
with the exponentβs absolute value. - β Remove the
Bounded
requirement fromRealField
. Replace it by methods returningOption<Self>
so that they can still be implemented by unbounded types (by returningNone
). - The
ComplexField
trait derives fromFromPrimitive
again. We can actually keep this because all its methods returnOption<Self>
, meaning that it could be implemented by any type.
Modified
- π Use more concise debug impls for matrices and geometric transformation types.
- 0οΈβ£ 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
andMatrix::select_columns
methods no longer require the matrix components to implement the traitZero
. - The
Matrix::pow
andMatrix::pow_mut
methods will now also work with integer matrices.
β Added
- Added the conversion trait
From<Vec<T>>
and methodfrom_vec_storage
forRowDVector
. - β Added implementation of
From
andInto
for converting betweennalgebra
types and types fromglam 0.18
. These can be enabled by enabling theconvert-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. - 0οΈβ£ The
Default
trait is now implemented for most geometric types:Point
,Isometry
,Rotation
,Similarity
,Transform
,UnitComplex
, andUnitQuaternion
. - β Added the
Scale
geometric type for representing non-uniform scaling. - Added
Cholesky::new_with_substitute
that will replace diagonal elements by a given constant wheneverCholesky
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 usingnalgebra
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
, andSVD::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 sparseCooMatrix
.
π Fixed
- π Fixed a potential unsoundness with
matrix.get(i)
andmatrix.get_mut(i)
wherei
is anusize
, andmatrix
is a matrix slice with non-default strides. - π Fixed potential unsoundness with
vector.perp
wherevector
isnβt actually a 2D vector as expected. - π Fixed linkage issue with
nalgebra-lapack
: the user ofnalgebra-lapack
no longer have to addextern crate lapack-src
to theirmain.rs
. - π Fixed the
no-std
build ofnalgebra-glm
. - π Fix the
pow
andpow_mut
functions (the result was incorrect for some exponent values).
- The
-
v0.29.1 Changes
β Added
- The conversion trait
From<Vec<T>>
and methodfrom_vec_storage
forRowDVector
. See #975 - β Added implementation of
From
andInto
for converting betweennalgebra
types and types fromglam 0.18
. These can be enabled by enabling theconvert-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. - 0οΈβ£ The
Default
trait is now implemented for most geometric types:Point
,Isometry
,Rotation
,Similarity
,Transform
,UnitComplex
, andUnitQuaternion
.
- The conversion trait
-
v0.29.0 Changes
π₯ Breaking changes
- β‘οΈ We updated to the version 0.6 of
simba
. This means that the trait boundsT: na::RealField
,na::ComplexField
,na::SimdRealField
,na:SimdComplexField
no imply thatT: Copy
(they only imply thatT: Clone
). This may affect generic code. - The closure given to
apply
,zip_apply
,zip_zip_apply
must now modify the first argument inplace, instead of returning a new value. This makes these methods more versatile, and avoid useless clones when using non-Copy scalar types. - The
Allocator
trait signature has been significantly modified in order to handle uninitialized matrices in a sound way.
Modified
Orthographic3::from_matrix_unchecked
is nowconst fn
.Perspective3::from_matrix_unchecked
is nowconst fn
.Rotation::from_matrix_unchecked
is nowconst fn
.- π― The
Scalar
is now automatically implemented for most'static + Clone
types. Type that implementClone
but notCopy
are now much safer to work with thanks to the refactoring of theAllocator
system.
β Added
- The conversion traits form the
bytemuck
crates are now implemented for the geometric types too. - Added operator overloading for
Transform * UnitComplex
,UnitComplex * Transform
,Transform Γ= UnitComplex
,Transform Γ·= UnitComplex
. - β Added
Reflection::bias()
to retrieve the bias of the reflection. - β Added
Reflection1..Reflection6
aliases for 1D to 6D reflections. - β Added implementation of
From
andInto
for converting betweennalgebra
types and types fromglam 0.16
andglam 0.17
. These can be enabled by enabling theconvert-glam016
, and/orconvert-glam017
cargo features.
- β‘οΈ We updated to the version 0.6 of
-
v0.28.0 Changes
β Added
- Implement
Hash
forTransform
. - Implement
Borrow
andBorrowMut
for contiguous slices.
Modified
- The
OPoint<T, D>
type has been added. It takes the dimension number as a type-level integer (e.g.Const<3>
) instead of a const-generic. The typePoint<T, const D: usize>
is now an alias forOPoint
. This changes doesn't affect any of the existing code usingPoint
. However, it will allow the useOPoint
in a generic context where the dimension cannot be easily expressed as a const-generic (because of the current limitation of const-generics in Rust). - β Several clippy warnings were fixed. This results in some method signature changes (e.g. taking
self
instead of&self
) but this should not have any practical infulances on existing codebase. - The
Point::new
constructors are no longer const-fn. This is due to some limitations in const-fn not allowing custom trait-bounds. Use thepoint!
macro instead to build points in const environments. Dynamic::new
andUnit::new_unchecked
are now const-fn.- Methods returning
Result<(), ()>
now returnbool
instead.
π Fixed
- π Fixed a potential unsoundess issue when converting a mutable slice to a
&mut[T]
.
- Implement
-
v0.27.1 Changes
π Fixed
- π Fixed a bug in the conversion from
glam::Vec2
orglam::DVec2
toIsometry2
.
- π Fixed a bug in the conversion from
-
v0.27.0 Changes
π This removes the
convert-glam
andconvert-glam-unchecked
optional features. Instead, this adds theconvert-glam013
,convert-glam014
, andconvert-glam015
optional features for conversions targeting the versions 0.13, 0.14, and 0.15 ofglam
.β Added
- β Add macros
matrix!
,dmatrix!
,vector!
,dvector!
,point!
for constructing matrices/vectors/points in a more convenient way. See #886 and #899. - β Add
CooMatrix::reserve
tonalgebra-sparse
. - β Add basic support for serialization using
rkyv
. Can be enabled with the featuresrkyv-serialize
orrkyv-serialize-no-std
.
π Fixed
- π Fixed a potential unsoundness issue after deserializing an invalid
DVector
usingserde
.
- β Add macros