#[macro_export]
macro_rules! zqi32_vec {
($($x:expr),* ; $Q:expr) => {{
vec![ $($crate::zq::ZqI32::<$Q>::new($x)),* ]
}};
}
#[macro_export]
macro_rules! zqi64_vec {
($($x:expr),* ; $Q:expr) => {{
vec![ $($crate::zq::ZqI64::<$Q>::new($x)),* ]
}};
}
#[macro_export]
macro_rules! zqu32_vec {
($($x:expr),* ; $Q:expr) => {{
vec![ $($crate::zq::ZqU32::<$Q>::new($x)),* ]
}};
}
#[macro_export]
macro_rules! zqu64_vec {
($($x:expr),* ; $Q:expr) => {{
vec![ $($crate::zq::ZqU64::<$Q>::new($x)),* ]
}};
}
#[cfg(test)]
mod tests {
#[test]
fn test_zqi32_vec() {
let v = zqi32_vec![-9, -6, 0, 6; 7];
let values = v.iter().map(|x| x.value).collect::<Vec<_>>();
assert_eq!(values, vec![-2, 1, 0, -1]);
}
#[test]
fn test_zqi64_vec() {
let v = zqi64_vec![-9, -6, 0, 6; 7];
let values = v.iter().map(|x| x.value).collect::<Vec<_>>();
assert_eq!(values, vec![-2, 1, 0, -1]);
}
#[test]
fn test_zqu32_vec() {
let v = zqu32_vec![12, 8, 0, 6; 7];
let values = v.iter().map(|x| x.value).collect::<Vec<_>>();
assert_eq!(values, vec![5, 1, 0, 6]);
}
#[test]
fn test_zqu64_vec() {
let v = zqu64_vec![12, 8, 0, 6; 7];
let values = v.iter().map(|x| x.value).collect::<Vec<_>>();
assert_eq!(values, vec![5, 1, 0, 6]);
}
}