ldpc 0.7.0

A toolbox for classical and quantum LDPC codes.
Documentation
use crate::css::{Css, CssOperator, CssSyndromeView};

use super::{ClassicalSyndromeDecoder, SyndromeDecoder};
pub type CssDecoder<D> = Css<D>;

impl<'a, D> SyndromeDecoder<CssSyndromeView<'a>, CssOperator> for CssDecoder<D>
where
    D: ClassicalSyndromeDecoder<'a>,
{
    fn correction_for(&self, syndrome: CssSyndromeView<'a>) -> CssOperator {
        self.as_ref()
            .pair(syndrome)
            .map(|(decoder, syndrome)| decoder.correction_for(syndrome.clone()))
            .swap_xz()
    }
}

#[cfg(test)]
mod test {
}