24 releases
| 0.6.4 | Oct 22, 2024 |
|---|---|
| 0.6.0-rc.1 | Sep 25, 2024 |
| 0.5.3 | Mar 6, 2024 |
| 0.4.3 | May 22, 2022 |
| 0.0.0 | Mar 4, 2020 |
#545 in Math
1,880 downloads per month
170KB
4K
SLoC
al-jabr
An n-dimensional linear algebra and mathematics library for computer graphics and other applications, designed to be roughly compatible with cgmath.
The library provides:
- small vectors:
Vector2,Vector3, andVector4 - points:
Point2,Point3, andPoint4 - large column vectors:
ColumnVector<T, const N: usize> - matrices:
Matrix2,Matrix3,Matrix4andMatrix<T, const N: usize, const M: usize> - a quaternion type:
Quaternion - orthonormal (rotation) matrices:
Orthonormal
al-jabr supports Vectors and Matrices of any size and will provide
implementations for any mathematic operations that are supported by their
scalars. Additionally, al-jabr can leverage Rust's type system to ensure that
operations are only applied to values that are the correct size. al-jabr can
do this while remaining no-std compatible.
For more information and a guide on getting started, check out the documentation.
Cargo Features
- The
mintfeature (off by default) adds a dependency to the mint crate and provides support for converting between al-jabr types and mint types. - The
serdefeature (off by default) adds serialization/deserialization support from the serde crate. - The
randfeature (off by default) allows you to create random points, vectors, and matrices by sampling from a random number source.
Contributions
Pull request of any nature are welcome.
Support
Contact the author at maplant@protonmail.com or file an issue on github.
Dependencies
~0–290KB