al-jabr

Crates.ioal-jabr
lib.rsal-jabr
version0.5.3
sourcesrc
created_at2020-03-04 17:58:53.882289
updated_at2024-03-06 23:46:28.677807
descriptionAn n-dimensional linear algebra library.
homepagehttps://github.com/maplant/al-jabr
repositoryhttps://github.com/maplant/al-jabr
max_upload_size
id215437
size153,227
Matthew Plant (maplant)

documentation

https://docs.rs/crate/al-jabr

README

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:

  • vectors: Vector2, Vector3, Vector4 and Vector<T, const N: usize>

  • points: Point2, Point3, Point4 and Point<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.
  • The swizzle feature (off by default) enables swizzle functions for vectors.

Contributions

Pull request of any nature are welcome.

Support

Contact the author at maplant@protonmail.com or file an issue on github.

Commit count: 109

cargo fmt