Struct lay_steane::SteaneLayer [−][src]
Fields
instance: L
Implementations
impl<L: Layer> SteaneLayer<L>
[src]
pub fn from_instance(instance: L, n_logical_qubits: u32) -> Self
[src]
impl SteaneLayer<GottesmanKnillSimulator<DefaultRng>>
[src]
pub fn from_seed_with_gk(n_logical_qubits: u32, seed: u64) -> Self
[src]
Trait Implementations
impl<L: Layer + PauliGate + HGate + SGate + CXGate> CXGate for SteaneLayer<L> where
L: Layer + PauliGate + HGate + SGate + CXGate,
L::Operation: Operation<L> + PauliOperation<L> + HOperation<L> + SOperation<L> + CXOperation<L>,
L::Qubit: NumCast,
L::Slot: NumCast,
[src]
L: Layer + PauliGate + HGate + SGate + CXGate,
L::Operation: Operation<L> + PauliOperation<L> + HOperation<L> + SOperation<L> + CXOperation<L>,
L::Qubit: NumCast,
L::Slot: NumCast,
impl<L: Debug + Layer> Debug for SteaneLayer<L> where
L::Buffer: Debug,
[src]
L::Buffer: Debug,
impl<L: Layer + PauliGate + HGate + SGate + CXGate> HGate for SteaneLayer<L> where
L: Layer + PauliGate + HGate + SGate + CXGate,
L::Operation: Operation<L> + PauliOperation<L> + HOperation<L> + SOperation<L> + CXOperation<L>,
L::Qubit: NumCast,
L::Slot: NumCast,
[src]
L: Layer + PauliGate + HGate + SGate + CXGate,
L::Operation: Operation<L> + PauliOperation<L> + HOperation<L> + SOperation<L> + CXOperation<L>,
L::Qubit: NumCast,
L::Slot: NumCast,
impl<L: Layer + PauliGate + HGate + SGate + CXGate> Layer for SteaneLayer<L> where
L: Layer + PauliGate + HGate + SGate + CXGate,
L::Operation: Operation<L> + PauliOperation<L> + HOperation<L> + SOperation<L> + CXOperation<L>,
L::Qubit: NumCast,
L::Slot: NumCast,
[src]
L: Layer + PauliGate + HGate + SGate + CXGate,
L::Operation: Operation<L> + PauliOperation<L> + HOperation<L> + SOperation<L> + CXOperation<L>,
L::Qubit: NumCast,
L::Slot: NumCast,
type Operation = OpArgs<Self>
type Qubit = u32
type Slot = u32
type Buffer = SteaneBuffer
type Requested = L::Requested
type Response = L::Response
fn send(&mut self, ops: &[Self::Operation]) -> L::Requested
[src]
fn receive(&mut self, buf: &mut Self::Buffer) -> L::Response
[src]
fn send_receive(
&mut self,
ops: &[Self::Operation],
buf: &mut Self::Buffer
) -> L::Response
[src]
&mut self,
ops: &[Self::Operation],
buf: &mut Self::Buffer
) -> L::Response
fn make_buffer(&self) -> Self::Buffer
[src]
pub fn opsvec(&self) -> OpsVec<Self>
[src]
impl<L: Layer + PauliGate + HGate + SGate + CXGate> PauliGate for SteaneLayer<L> where
L: Layer + PauliGate + HGate + SGate + CXGate,
L::Operation: Operation<L> + PauliOperation<L> + HOperation<L> + SOperation<L> + CXOperation<L>,
L::Qubit: NumCast,
L::Slot: NumCast,
[src]
L: Layer + PauliGate + HGate + SGate + CXGate,
L::Operation: Operation<L> + PauliOperation<L> + HOperation<L> + SOperation<L> + CXOperation<L>,
L::Qubit: NumCast,
L::Slot: NumCast,
impl<L: Layer + PauliGate + HGate + SGate + CXGate> SGate for SteaneLayer<L> where
L: Layer + PauliGate + HGate + SGate + CXGate,
L::Operation: Operation<L> + PauliOperation<L> + HOperation<L> + SOperation<L> + CXOperation<L>,
L::Qubit: NumCast,
L::Slot: NumCast,
[src]
L: Layer + PauliGate + HGate + SGate + CXGate,
L::Operation: Operation<L> + PauliOperation<L> + HOperation<L> + SOperation<L> + CXOperation<L>,
L::Qubit: NumCast,
L::Slot: NumCast,
Auto Trait Implementations
impl<L> RefUnwindSafe for SteaneLayer<L> where
L: RefUnwindSafe,
<L as Layer>::Buffer: RefUnwindSafe,
[src]
L: RefUnwindSafe,
<L as Layer>::Buffer: RefUnwindSafe,
impl<L> Send for SteaneLayer<L> where
L: Send,
<L as Layer>::Buffer: Send,
[src]
L: Send,
<L as Layer>::Buffer: Send,
impl<L> Sync for SteaneLayer<L> where
L: Sync,
<L as Layer>::Buffer: Sync,
[src]
L: Sync,
<L as Layer>::Buffer: Sync,
impl<L> Unpin for SteaneLayer<L> where
L: Unpin,
<L as Layer>::Buffer: Unpin,
[src]
L: Unpin,
<L as Layer>::Buffer: Unpin,
impl<L> UnwindSafe for SteaneLayer<L> where
L: UnwindSafe,
<L as Layer>::Buffer: UnwindSafe,
[src]
L: UnwindSafe,
<L as Layer>::Buffer: UnwindSafe,
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,