#square-matrix #vector #user #element #focused #dimension

vmm

A math library focused on vectors and square matrices (Not in development)

5 releases

new 0.2.1 Jan 19, 2025
0.2.0 Jan 28, 2024
0.1.2 Jan 25, 2024
0.1.1 Jan 8, 2024
0.1.0 Jan 8, 2024

#6 in #focused

Download history 19/week @ 2024-09-22 1/week @ 2024-11-03

236 downloads per month

MIT/Apache

57KB
913 lines

This crate is not being maintained

I bit more than I could chew, and I was not smart enough to keep going. Maybe in the future I will revisit this one, but for now just stick with nalgebra or cgmath.

VMM

vmm is a Rust crate that provides a collection of types and utilities for mathematical operations, specifically tailored for vectors and matrices. The library is designed to be generic, allowing users to work with vectors and square matrices of different dimensions and element types.

Features

  • VecN: Generic vector type representing an array of elements of type T with a fixed size.
  • MatN: Generic matrix type representing a 2D array of elements of type T with fixed dimensions.
  • Vector Operations: Methods for common vector operations such as dot product, cross product, normalization, etc.
  • Matrix Operations: Functions for matrix operations, including transpose, matrix-vector multiplication, and more.
  • Concise Macros: Macros for creating vectors and matrices with a concise syntax.

Examples


// Creating a 2D vector
let vector_2d = Vec2::<i32>::new();
let vec_2d = vec2![1.0, 2.0];

// Creating a 3x3 matrix
let mat_3x3 = Mat3::<i32>::new();
let matrix_3x3 = mat3_raw![[1.0, 2.0, 3.0], [4.0, 5.0, 6.0], [7.0, 8.0, 9.0]];

// Performing vector operations
let dot_product = vec3![1.0, 2.0, 3.0].dot(&vec3![4.0, 5.0, 6.0]);

Dependencies

~140KB