rustrix 0.1.0

Supportsc macro and basic operations for matrix.
Documentation

Only integer items are available currently.

Initialization

let mx = mx![
    1, 2, 3;
    4, 5, 6;
];
let (rows, cols, initial_value) = (2, 3, 1);
let mx = mx!(rows, cols; initial_value);

// 1 1 1
// 1 1 1

Add

let m1 = mx!(3, 3; 2);
let m2 = mx!(3, 3; 3);
let mx = m1 + m2;

// 5 5 5
// 5 5 5
// 5 5 5

Subtract

let m1 = mx!(3, 3; 2);
let m2 = mx!(3, 3; 3);
let mx = m1 - m2;

// -1 -1 -1
// -1 -1 -1
// -1 -1 -1

Dot product

let m1 = mx![
    1, 1, 1;
    2, 2, 2;
];

let m2 = mx![
    1, 1, 1, 1;
    2, 2, 2, 2;
    3, 3, 3, 3;
];

let mx = m1 * m2;

//  6  6  6  6
// 12 12 12 12

Transpose

let mx = mx![
    1, 2;
    3, 4;
    5, 6;
];

let tp = mx.tp();

// 1 3 5
// 2 4 6