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

#403 in Math

Download history 130/week @ 2024-08-10 256/week @ 2024-08-17 22/week @ 2024-08-24 5/week @ 2024-08-31 4/week @ 2024-09-07 28/week @ 2024-09-14 115/week @ 2024-09-21 398/week @ 2024-09-28 59/week @ 2024-10-05 399/week @ 2024-10-12 181/week @ 2024-10-19 13/week @ 2024-10-26 61/week @ 2024-11-02 2/week @ 2024-11-09 20/week @ 2024-11-16 2/week @ 2024-11-23

85 downloads per month

MIT/Apache

170KB
4K SLoC

al-jabr

Documentation Version Downloads

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, and Vector4
  • points: Point2, Point3, and Point4
  • large column vectors: ColumnVector<T, const N: usize>
  • matrices: Matrix2, Matrix3, Matrix4 and Matrix<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 mint feature (off by default) adds a dependency to the mint crate and provides support for converting between al-jabr types and mint types.
  • The serde feature (off by default) adds serialization/deserialization support from the serde crate.
  • The rand feature (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–280KB