Skip to content

Commit

Permalink
Release v0.26.0
Browse files Browse the repository at this point in the history
  • Loading branch information
sebcrozet committed Apr 12, 2021
1 parent 230f1a8 commit 700c4dc
Show file tree
Hide file tree
Showing 6 changed files with 43 additions and 8 deletions.
35 changes: 35 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,41 @@ documented here.

This project adheres to [Semantic Versioning](https://semver.org/).

## [0.26.0]
This releases integrates `min-const-generics` to nalgebra. See
[our blog post](https://dimforge.com/blog/2021/04/12/nalgebra-const-generics)
for details about this release.

### Added
- Add type aliases for unit vector, e.g., `UnitVector3`.
- Add a `pow` and `pow_mut` function to square matrices.
- Add `Cholesky::determinant` to compute the determinant of a matrix decomposed
with Cholesky.
- Add the `serde-serialize-no-std` feature to enable serialization of static matrices/vectors
with serde, but without requiring `std`.


### Modified
- The `serde` crate isn't enabled by default now. Enable the `serde-serialize` or the
`serde-serialize-no-std` features instead.
- The `Const<const D: usize>` type has been introduced to represent dimensions known
at compile-time. This replaces the type-level integers from `typenum` as well as
the `U1, U2, ..., U127` types from `nalgebra`. These `U1, U2, ..., U127` are now
just aliases for `Const<D>`, e.g., `type U2 = Const<2>`.
- The `ArrayStorage` now uses a standard array `[[T; R]; C]` instead of a `GenericArray`.
- Many trait bounds were changed to accommodate const-generics. Most of these changes
should be transparent wrt. non-generic code.
- The `MatrixMN` alias has been deprecated. Use `OMatrix` or `SMatrix` instead.
- The `MatrixN<T, D>` alias has been deprecated. Use `OMatrix<T, D, D>` or `SMatrix` instead.
- The `VectorN<T, D>` alias has been deprecated. Use `OVector` or `SVector` instead.
- The `Point`, `Translation`, `Isometry`, `Similarity`, and `Transformation` types now take an
integer for their dimension (instead of a type-level integer).
- The type parameter order of `Isometry`, `Similarity`, `Transformation` changed to put
the integer dimensions in the last position (this is required by the compiler).
- The `::new` constructors of translations, points, matrices, and vectors of dimensions `<= 6`
are now `const fn`, making them usable to define constant globals. The `Quaternion::new`
constructor is also a `const fn` now.

## [0.25.4]
### Fixed
- Fix a compilation error when only the `serde-serialize` feature is enabled.
Expand Down
2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "nalgebra"
version = "0.25.4"
version = "0.26.0"
authors = [ "Sébastien Crozet <developer@crozet.re>" ]

description = "General-purpose linear algebra library with transformations and statically-sized or dynamically-sized matrices."
Expand Down
4 changes: 2 additions & 2 deletions nalgebra-glm/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "nalgebra-glm"
version = "0.11.0"
version = "0.12.0"
authors = ["sebcrozet <developer@crozet.re>"]

description = "A computer-graphics oriented API for nalgebra, inspired by the C++ GLM library."
Expand All @@ -27,4 +27,4 @@ abomonation-serialize = [ "nalgebra/abomonation-serialize" ]
num-traits = { version = "0.2", default-features = false }
approx = { version = "0.4", default-features = false }
simba = { version = "0.4", default-features = false }
nalgebra = { path = "..", version = "0.25", default-features = false }
nalgebra = { path = "..", version = "0.26", default-features = false }
4 changes: 2 additions & 2 deletions nalgebra-lapack/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "nalgebra-lapack"
version = "0.16.0"
version = "0.17.0"
authors = [ "Sébastien Crozet <developer@crozet.re>", "Andrew Straw <strawman@astraw.com>" ]

description = "Matrix decompositions using nalgebra matrices and Lapack bindings."
Expand Down Expand Up @@ -29,7 +29,7 @@ accelerate = ["lapack-src/accelerate"]
intel-mkl = ["lapack-src/intel-mkl"]

[dependencies]
nalgebra = { version = "0.25", path = ".." }
nalgebra = { version = "0.26", path = ".." }
num-traits = "0.2"
num-complex = { version = "0.3", default-features = false }
simba = "0.4"
Expand Down
4 changes: 2 additions & 2 deletions nalgebra-sparse/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "nalgebra-sparse"
version = "0.1.0"
version = "0.2.0"
authors = [ "Andreas Longva", "Sébastien Crozet <developer@crozet.re>" ]
edition = "2018"
description = "Sparse matrix computation based on nalgebra."
Expand All @@ -20,7 +20,7 @@ compare = [ "matrixcompare-core" ]
slow-tests = []

[dependencies]
nalgebra = { version="0.25", path = "../" }
nalgebra = { version="0.26", path = "../" }
num-traits = { version = "0.2", default-features = false }
proptest = { version = "1.0", optional = true }
matrixcompare-core = { version = "0.1.0", optional = true }
Expand Down
2 changes: 1 addition & 1 deletion src/base/indexing.rs
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ use crate::base::{

use std::ops;

// T.B.: Not a public trait!
// N.B.: Not a public trait!
trait DimRange<D: Dim> {
/// The number of elements indexed by this range.
type Length: Dim;
Expand Down

0 comments on commit 700c4dc

Please sign in to comment.