All notable changes to this project will be documented in this file, following the format defined at keepachangelog.com. This project adheres to Semantic Versioning as of version 0.3.
These changes are included in master
but have not been released in a new crate version yet.
- Add some missing derives to
Euler
andUnit
.
- Add
to_scale_rotation_translation
function to Matrix4. - Add
From<Orthonormal<T, 3>>
forQuaternion<T>
. - Add
new
function toOrthonormal
. - Add
signum
function toReal
.
- Fix affine matrix construction.
- Add
from_rotation
constructor forMatrix3
andMatrix4
. - Derive
serde::Serialize
andserde::Serialize
and forUnit
whenT
supports it.
- Add
Vector1
andPoint1
- Add
from_vec1
,from_vec2
, andfrom_vec3
constructors to extend vectors. - Add
from_point1
,from_point1
, andfrom_point1
, constructors to extend points. - Make
Unit
Copy
andClone
dependent onT
.
- Remove redundant
lerp
definition (oops).
- Add
asin
andacos
methods toReal
. - Add
Unit
struct to enforce normalized objects. - Add
nlerp
andslerp
method toUnit
. - Add
lerp
method toMatrix
.
- Implement remaining
approx
traits forMatrix
andPoint
. - Change to edition 2021.
- Redefine Vector in terms of Matrices, as opposed to definining Matrices in terms of Vectors. This is a more natural definition and allows for a dramatic reduction of code.
- Renamed the crate to
al-jabr
and remove methods that are not compatible with rust stable.
- Add
const_evaluatable_checked
unstable feature to allow fortruncate
andextend
methods to be used.
- Fix an instance of undefined behavior in
swap_columns
andswap_rows
when attempting to swap a row or column with itself.
- Rename
trunc
methodtruncate
. - Add
extend
,max
,argmax
,min
, andargmin
toVector
. - Add
column_iter
,column_iter_mut
,row_iter
,row_iter_mut
toMatrix
. - Add
LU
matrix. - Add complete
inverse
,determinant
andlu
methods toMatrix
. - Remove
Angle
trait. - Remove
SquareMatrix
trait. - Reorganize
Matrix
type aliases.
- Add
trunc
method toVector
, now that rust supports it. - Remove deprecation from
TruncatedVector
.
- Add support for the
mint
crate. - Add
IntoIterator
implementations forVector
,Matrix
andPoint
.
- Fix a typo in the documentation.
- Add
FromIterator
implementation forVector
andMatrix
. - Remove redundant
SquareMatrix
requirement fromMatrix
impl ofOne
. - Implement
invert
for Matrices up to dimension of 2. - Add
One
,Div<Self, Output = Self>
andNeg<Output = Self>
constraints toSquareMatrix::Scalar
.
- Remove
trunc
method and deprecatedTruncatedVector
due to an ice. - Added
reflect
method simply because it was already in master. Sorry semver. - Change license to dual MIT/Apache-2.0
- Fix some typos in the docs.
- Add
vector!
andmatrix!
macros, deprecate other construction methods. - Add
Point
type. - Add
map
method toVector
andMatrix
. - Implement
Distribution<Vector<_, _>>
andDistribution<Matrix<_, _, _>>
for randStandard
. - Implement serde
Serialize
andDeserialize
for all data structures. - Add
Rotation<DIMS>
trait to describe values that can rotate vectors of sizeDIMS
. - Add
Angle
trait to describe values with asin
andcos
defined. - Add
Euler
struct to describe rotations in three dimensions via three components. - Add
Orthonormal
struct for rotation matrices.