illuminator 0.1.3

A simple yet powerful rendering tool
Documentation
#[macro_export]
macro_rules! tensor {

    ([$($val:expr),*] ; $($dim:expr),+) => {{
        const N: usize = $crate::tensor!(@size $($dim),+);
        let arr = [$($val),*];
        let shape = [$($dim),+];
        Tensor::<_, N>::new(&shape,arr)
    }};

    ($val:expr ; $($dim:expr),+) => {{
        const N: usize = $crate::tensor!(@size $($dim),+);
        let arr = [$val; N];
        let shape = [$($dim),+];
        Tensor::<_, N>::new(&shape,arr)
    }};

    (@size $dim:expr) => {
        $dim
    };

    (@size $dim:expr, $($rest:expr),+) => {
        $dim * $crate::tensor!(@size $($rest),+)
    };

}