use super::Transform;
pub struct Mirror<const D: usize>(pub [bool; D]);
impl<const D: usize> Transform<D> for Mirror<D> {
fn apply(&self, index: &mut [isize; D]) {
for (d, i) in index.iter_mut().enumerate() {
*i = if self.0[d] { -*i } else { *i };
}
}
}