[−][src]Crate definitive
The definitive vector and matrix library for Rust
In short
My take on a vector library, that tries to be the be-all end-all vector and matrix crate through hand written SIMD for games and const generics for scientific compute.
In order to achieve this, definitive
relies on experimental Rust features,
such as const generics and specialization. This puts definitive
in the
experimental category, as it may cause internal compiler errors or undefined
behaviour.
Matrices?
You might ponder, for a vector and matrix library, definitive
doesn't
seem to have any matrices! This is an unfortunate issue that I am currently
facing with const generics that should be resolved in the future. Before
support in rustc matures, definitive
will support "good enough" matrices
that aren't const sized.
Example
use definitive::Vector; let a = Vector::from([2, 3, 1]); let b = Vector::from([8, 0, 0]); dbg!(a + b * 4); // [34, 3, 1]
#![no_std]
is supported by disabling the std
feature
Macros
vector | Create a vector out of named arguments |
Structs
Vector | A generic type representing an N dimensional vector |
Traits
One | Value representing one, like |
Sqrt | Square root |
Zero | Value representing zero, like |
Type Definitions
Vec2 | Shorthand for Vector<f32, 2> |
Vec3 | Shorthand for Vector<f32, 3> |
Vec4 | Shorthand for Vector<f32, 4> |