#[macro_export]
macro_rules! cfg_iter {
($e: expr) => {{
#[cfg(feature = "parallel")]
let result = $e.par_iter();
#[cfg(not(feature = "parallel"))]
let result = $e.iter();
result
}};
}
#[macro_export]
macro_rules! cfg_iter_mut {
($e: expr) => {{
#[cfg(feature = "parallel")]
let result = $e.par_iter_mut();
#[cfg(not(feature = "parallel"))]
let result = $e.iter_mut();
result
}};
}
#[macro_export]
macro_rules! cfg_into_iter {
($e: expr) => {{
#[cfg(feature = "parallel")]
let result = $e.into_par_iter();
#[cfg(not(feature = "parallel"))]
let result = $e.into_iter();
result
}};
}
#[macro_export]
macro_rules! cfg_chunks {
($e: expr, $size: expr) => {{
#[cfg(feature = "parallel")]
let result = $e.par_chunks($size);
#[cfg(not(feature = "parallel"))]
let result = $e.chunks($size);
result
}};
}
#[macro_export]
macro_rules! cfg_chunks_mut {
($e: expr, $size: expr) => {{
#[cfg(feature = "parallel")]
let result = $e.par_chunks_mut($size);
#[cfg(not(feature = "parallel"))]
let result = $e.chunks_mut($size);
result
}};
}
#[macro_export]
macro_rules! cfg_reduce {
($e: expr, $default: expr, $op: expr) => {{
#[cfg(feature = "parallel")]
let result = $e.reduce($default, $op);
#[cfg(not(feature = "parallel"))]
let result = $e.fold($default(), $op);
result
}};
}