Crates.io | gmm |
lib.rs | gmm |
version | 0.3.0 |
source | src |
created_at | 2024-07-10 04:40:28.691014 |
updated_at | 2024-09-26 02:28:11.844301 |
description | Math library for video games |
homepage | |
repository | https://github.com/HK416/gmm |
max_upload_size | |
id | 1297832 |
size | 726,289 |
A math library for video games that allow independent management of data. Just like DirectXMath, data and vectors are divided.
Data types are designed to be used when storing data in files or exchanging it with other systems.
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);
Vector types are designed to be used when processing calculations.
Some systems use SIMD
instructions.
use gmm::Vector;
let a = Vector::new(1.0, 2.0, 3.0, 4.0);
let s = Vector::fill(5.0);
let res = a + s;
println!("{} + {} = {}", a, s, res);
The gmm library supports SIMD instructions on the x86
, x86_64
and the aarch64
architecture.
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.MIT license (LICENSE or http://opensource.org/licenses/MIT)