pub trait Demap {
// Required method
fn demap_with_into(
&self,
y: &Symbols,
noise_var: f64,
demapping: Demapping<'_>,
out: &mut Llr,
) -> Result<()>;
// Provided methods
fn demap_into(
&self,
y: &Symbols,
noise_var: f64,
out: &mut Llr,
) -> Result<()> { ... }
fn demap_with(
&self,
y: &Symbols,
noise_var: f64,
demapping: Demapping<'_>,
) -> Result<Llr> { ... }
fn demap(&self, y: &Symbols, noise_var: f64) -> Result<Llr> { ... }
}Expand description
Soft demapping of received symbols into log-likelihood ratios.
Required Methods§
Sourcefn demap_with_into(
&self,
y: &Symbols,
noise_var: f64,
demapping: Demapping<'_>,
out: &mut Llr,
) -> Result<()>
fn demap_with_into( &self, y: &Symbols, noise_var: f64, demapping: Demapping<'_>, out: &mut Llr, ) -> Result<()>
Demap y, received with a complex noise variance noise_var, into out, with
the priors and the logarithm of demapping (see Demapping).
§Errors
crate::Error::Config for a noise variance that is not positive and finite, or
log-priors with a NaN or $+\infty$, or none finite; crate::Error::Shape for
log-priors of another length than the alphabet.
Provided Methods§
Sourcefn demap_into(&self, y: &Symbols, noise_var: f64, out: &mut Llr) -> Result<()>
fn demap_into(&self, y: &Symbols, noise_var: f64, out: &mut Llr) -> Result<()>
Demap y, received with a complex noise variance noise_var, into out: the
exact LLRs under uniform priors (Demap::demap_with_into with the default
Demapping).
§Errors
Sourcefn demap_with(
&self,
y: &Symbols,
noise_var: f64,
demapping: Demapping<'_>,
) -> Result<Llr>
fn demap_with( &self, y: &Symbols, noise_var: f64, demapping: Demapping<'_>, ) -> Result<Llr>
Demap y with demapping (allocates, calls Demap::demap_with_into).
§Errors
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".