[][src]Macro mkv_chain::vector

macro_rules! vector {
    ($(#[$outer:meta])* $name:ident, $order:literal) => { ... };
}

Generate code for a vector with name and order

Example:

extern crate mkv_chain;
use mkv_chain::{vector};

vector!(MyVec3, 3);  // vector!(Name: Order)
vector!(MyVec5, 5);  // vector!(Name: Order)

fn main() {

    let vec3_1 = MyVec3::new([0.0, 0.0, 0.0]);
    let vec3_2 = MyVec3::new([1.0, 1.0, 1.0]);
    assert_eq!(vec3_1 * vec3_2, 0.0);
    
    let vec5 = MyVec5::new([1.0, 2.0, 3.0, 4.0, 5.0]);
    assert_eq!(
        vec5.scale(2),
        MyVec5::new([2.0, 4.0, 6.0, 8.0 ,10.0])
    );
}