Crate gmm

source ·
Expand description

§Game Math for Me

A math library for video games that allow independent management of data. Just like DirectXMath, data and vectors are divided.

§Examples

use gmm::Float4;
 
let a = Float4::new(1.0, 2.0, 3.0, 4.0);
let s = Float4::fill(5.0);
let res = a + s;
 
println!("{} + {} = {}", a, s, res);

or

use gmm::Float4;
use gmm::Vector;
 
let a = Float4::new(1.0, 2.0, 3.0, 4.0);
let s = Float4::fill(5.0);
 
let v_a: Vector = a.into();
let v_s: Vector = s.into();
let v_res = v_a + v_s;
 
let res: Float4 = v_res.into();
 
println!("{} + {} = {}", a, s, res);

§Features

§Supports SIMD operations

The gmm library supports SIMD instructions on the x86, x86_64 and the aarch64 architecture.

§Compile Features

  • bytemuck - Enables the bytemuck library implementation.
  • serde - Enables the serde library implementation.
  • mint - Enables the mint library implementation.
  • scalar-math - Disable the simd instruction in the library.
  • use-assertion - Allow panic calls within a function.

§License

MIT license (LICENSE or http://opensource.org/licenses/MIT)

Re-exports§

Modules§