Struct stm32_hal2::crc::Polynomial [−][src]
pub struct Polynomial(_);
Expand description
A CRC polynomial.
The STM32H7 CRC unit only supports odd polynomials, and the constructors
will check to ensure the polynomial is odd unless the _unchecked
variants
are used.
Even polynomials are essentially never used in CRCs, so you most likely don’t need to worry about this if you aren’t creating your own algorithm.
A polynomial being even means that the least significant bit is 0
in the polynomial’s normal representation.
Implementations
impl Polynomial
[src]
impl Polynomial
[src]pub fn bits7(poly: u8) -> Result<Self, PolynomialError>
[src]
pub fn bits7(poly: u8) -> Result<Self, PolynomialError>
[src]Create a 7-bit polynomial. Returns an error if the polynomial passed has the MSB set or is even.
pub fn bits8(poly: u8) -> Result<Self, PolynomialError>
[src]
pub fn bits8(poly: u8) -> Result<Self, PolynomialError>
[src]Create an 8-bit polynomial. Returns an error if the polynomial passed is even.
pub fn bits16(poly: u16) -> Result<Self, PolynomialError>
[src]
pub fn bits16(poly: u16) -> Result<Self, PolynomialError>
[src]Create a 16-bit polynomial. Returns an error if the polynomial passed is even.
pub fn bits32(poly: u32) -> Result<Self, PolynomialError>
[src]
pub fn bits32(poly: u32) -> Result<Self, PolynomialError>
[src]Create a 32-bit polynomial. Returns an error if the polynomial passed is even.
pub const fn bits7_unchecked(poly: u8) -> Self
[src]
pub const fn bits7_unchecked(poly: u8) -> Self
[src]Create a 7-bit polynomial. If the polynomial passed is even the CRC unit will give incorrect results.
pub const fn bits8_unchecked(poly: u8) -> Self
[src]
pub const fn bits8_unchecked(poly: u8) -> Self
[src]Create an 8-bit polynomial. If the polynomial passed is even the CRC unit will give incorrect results.
pub const fn bits16_unchecked(poly: u16) -> Self
[src]
pub const fn bits16_unchecked(poly: u16) -> Self
[src]Create a 16-bit polynomial. If the polynomial passed is even the CRC unit will give incorrect results.
pub const fn bits32_unchecked(poly: u32) -> Self
[src]
pub const fn bits32_unchecked(poly: u32) -> Self
[src]Create a 32-bit polynomial. If the polynomial passed is even the CRC unit will give incorrect results.
Trait Implementations
impl Clone for Polynomial
[src]
impl Clone for Polynomial
[src]fn clone(&self) -> Polynomial
[src]
fn clone(&self) -> Polynomial
[src]Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0[src]
fn clone_from(&mut self, source: &Self)
1.0.0[src]Performs copy-assignment from source
. Read more
impl Debug for Polynomial
[src]
impl Debug for Polynomial
[src]impl Default for Polynomial
[src]
impl Default for Polynomial
[src]impl PartialEq<Polynomial> for Polynomial
[src]
impl PartialEq<Polynomial> for Polynomial
[src]fn eq(&self, other: &Polynomial) -> bool
[src]
fn eq(&self, other: &Polynomial) -> bool
[src]This method tests for self
and other
values to be equal, and is used
by ==
. Read more
fn ne(&self, other: &Polynomial) -> bool
[src]
fn ne(&self, other: &Polynomial) -> bool
[src]This method tests for !=
.