pub trait Reset: crate::traits::Clifford + crate::traits::CliffordExtensions {
fn reset(&mut self, addr0: usize);
fn reset_z(&mut self, addr0: usize) {
self.reset(addr0)
}
fn reset_x(&mut self, addr0: usize) {
self.reset(addr0);
self.h(addr0);
}
fn reset_y(&mut self, addr0: usize) {
self.reset(addr0);
self.h(addr0);
self.s(addr0);
}
fn reset_many(&mut self, targets: &[usize]) {
for &q in targets {
self.reset(q);
}
}
fn reset_z_many(&mut self, targets: &[usize]) {
self.reset_many(targets)
}
fn reset_x_many(&mut self, targets: &[usize]) {
for &q in targets {
self.reset_x(q);
}
}
fn reset_y_many(&mut self, targets: &[usize]) {
for &q in targets {
self.reset_y(q);
}
}
}