pub struct PartitionedDecoder { /* private fields */ }Expand description
Partitioned decoder that tiles the syndrome lattice into independent regions for parallel decoding.
Each tile of size tile_size x tile_size is decoded independently
using the inner decoder, then corrections at tile boundaries are
merged to form a globally consistent correction set.
This architecture enables:
- Sublinear wall-clock scaling with tile parallelism
- Bounded per-tile working set for cache efficiency
- Graceful degradation: tile boundary errors add O(1/tile_size) overhead to the logical error rate
Implementations§
Source§impl PartitionedDecoder
impl PartitionedDecoder
Sourcepub fn new(tile_size: u32, inner_decoder: Box<dyn SurfaceCodeDecoder>) -> Self
pub fn new(tile_size: u32, inner_decoder: Box<dyn SurfaceCodeDecoder>) -> Self
Create a new partitioned decoder.
tile_size controls the side length of each tile (e.g., 8 for
8x8 regions). The inner_decoder is used to decode each tile.
Trait Implementations§
Source§impl SurfaceCodeDecoder for PartitionedDecoder
impl SurfaceCodeDecoder for PartitionedDecoder
Source§fn decode(&self, syndrome: &SyndromeData) -> Correction
fn decode(&self, syndrome: &SyndromeData) -> Correction
Decode a syndrome and return the inferred correction.
Auto Trait Implementations§
impl Freeze for PartitionedDecoder
impl !RefUnwindSafe for PartitionedDecoder
impl Send for PartitionedDecoder
impl Sync for PartitionedDecoder
impl Unpin for PartitionedDecoder
impl UnsafeUnpin for PartitionedDecoder
impl !UnwindSafe for PartitionedDecoder
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more