rust-lib/src/vector/matrix.rs
Martin Berg Alstad 0898a50166 Added MultipartFile extractors.
Moved cfg macro to lib where possible.

Changed some features, and made some deps optional
2024-06-30 20:17:44 +02:00

33 lines
725 B
Rust

#[macro_export]
macro_rules! matrix {
($x:expr; $m:expr, $n:expr) => {
vec![vec![$x; $n]; $m]
};
($($($x:expr),*);*) => {
{
let mut temp_vec = vec![];
{} // Needed to avoid clippy warning
$(
temp_vec.push(vec![$($x),*]);
)*
temp_vec
}
};
}
#[cfg(test)]
mod tests {
#[test]
fn test_matrix() {
let matrix = matrix![1, 2, 3; 4, 5, 6; 7, 8, 9];
assert_eq!(matrix, vec![vec![1, 2, 3], vec![4, 5, 6], vec![7, 8, 9]]);
}
#[test]
fn test_matrix_with_single_value() {
let matrix = matrix![0; 2, 3];
assert_eq!(matrix, vec![vec![0, 0, 0], vec![0, 0, 0]]);
}
}