Skip to content

A simple rust library/CLI app that allows for basic work with mathematical Matrices.

License

Notifications You must be signed in to change notification settings

1Kill2Steal/matrix-math-rs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Matrix-math

Build IconDocs IconVersion IconLicense Icon

A simple Rust library/CLI app that allows for basic work with mathematical Matrices.

Getting started

use matrix::prelude::*;

fn interactive_matrices_example() -> Result<(), Error> {
    let matrix1 = matrix::<f32>(1, None, None);

    // By calling matrix2 with the length parameters of matrix1 like so. Doing the operations
    // unchecked is **SAFE**.
    let matrix2 = matrix::<f32>(2, Some(matrix1.len()), Some(matrix1[0].len()));

    let sum = matrix_operation_unchecked(MatrixOperation::Addition, &matrix1, &matrix2);
    println!("Sum:\n{:#?}", sum);

    let diff = matrix_operation_unchecked(MatrixOperation::Subtraction, &matrix1, &matrix2);
    println!("Difference:\n{:#?}", diff);

    let product = matrix_operation_unchecked(MatrixOperation::Multiplication, &matrix1, &matrix2);
    println!("Product:\n{:#?}", product);

    let division = matrix_operation_unchecked(MatrixOperation::Division, &matrix1, &matrix2);
    println!("Results from division:\n{:#?}", division);

    Ok(())
}

fn main() -> Result<(), Error> {
    let args = Args::parse();

    if args.interactive {
        interactive_matrices_example()?;
    }

    Ok(())
}

About

A simple rust library/CLI app that allows for basic work with mathematical Matrices.

Topics

Resources

License

Stars

Watchers

Forks

Languages