#[repr(transparent)]pub struct Block8(pub u8);Expand description
Field element GF(2^8).
Tuple Fields§
§0: u8Implementations§
Trait Implementations§
Source§impl AddAssign for Block8
impl AddAssign for Block8
Source§fn add_assign(&mut self, rhs: Self)
fn add_assign(&mut self, rhs: Self)
Performs the
+= operation. Read moreSource§impl CanonicalDeserialize for Block8
impl CanonicalDeserialize for Block8
Source§impl CanonicalSerialize for Block8
impl CanonicalSerialize for Block8
Source§impl<'de> Deserialize<'de> for Block8
impl<'de> Deserialize<'de> for Block8
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl FlatPromote<Block8> for Bit
impl FlatPromote<Block8> for Bit
Source§impl FlatPromote<Block8> for Block128
Available on non-crate feature table-math only.
impl FlatPromote<Block8> for Block128
Available on non-crate feature
table-math only.Source§impl FlatPromote<Block8> for Block16
impl FlatPromote<Block8> for Block16
Source§impl FlatPromote<Block8> for Block32
impl FlatPromote<Block8> for Block32
Source§impl FlatPromote<Block8> for Block64
impl FlatPromote<Block8> for Block64
Source§impl HardwareField for Block8
impl HardwareField for Block8
Source§fn to_hardware(self) -> Flat<Self>
fn to_hardware(self) -> Flat<Self>
Convert standard Tower element
to hardware basis (Isomorphic).
Source§fn from_hardware(value: Flat<Self>) -> Self
fn from_hardware(value: Flat<Self>) -> Self
Convert hardware element back to Tower basis.
Source§fn add_hardware(lhs: Flat<Self>, rhs: Flat<Self>) -> Flat<Self>
fn add_hardware(lhs: Flat<Self>, rhs: Flat<Self>) -> Flat<Self>
Sum two elements assuming they
are already in hardware basis.
Source§fn add_hardware_packed(
lhs: PackedFlat<Self>,
rhs: PackedFlat<Self>,
) -> PackedFlat<Self>
fn add_hardware_packed( lhs: PackedFlat<Self>, rhs: PackedFlat<Self>, ) -> PackedFlat<Self>
Sum packed vectors in hardware basis.
Source§fn mul_hardware(lhs: Flat<Self>, rhs: Flat<Self>) -> Flat<Self>
fn mul_hardware(lhs: Flat<Self>, rhs: Flat<Self>) -> Flat<Self>
Multiply two elements assuming
they are already in hardware basis.
Source§fn mul_hardware_packed(
lhs: PackedFlat<Self>,
rhs: PackedFlat<Self>,
) -> PackedFlat<Self>
fn mul_hardware_packed( lhs: PackedFlat<Self>, rhs: PackedFlat<Self>, ) -> PackedFlat<Self>
Multiply packed vectors in hardware basis.
Source§fn mul_hardware_scalar_packed(
lhs: PackedFlat<Self>,
rhs: Flat<Self>,
) -> PackedFlat<Self>
fn mul_hardware_scalar_packed( lhs: PackedFlat<Self>, rhs: Flat<Self>, ) -> PackedFlat<Self>
Multiply packed vectors by
a scalar in hardware basis.
Source§impl Mul<Block8> for PackedBlock8
impl Mul<Block8> for PackedBlock8
Source§impl MulAssign for Block8
impl MulAssign for Block8
Source§fn mul_assign(&mut self, rhs: Self)
fn mul_assign(&mut self, rhs: Self)
Performs the
*= operation. Read moreSource§impl PackableField for Block8
impl PackableField for Block8
Source§impl SubAssign for Block8
impl SubAssign for Block8
Source§fn sub_assign(&mut self, rhs: Self)
fn sub_assign(&mut self, rhs: Self)
Performs the
-= operation. Read moreSource§impl TowerField for Block8
impl TowerField for Block8
const BITS: usize = 8
const ZERO: Self
const ONE: Self
Source§const EXTENSION_TAU: Self
const EXTENSION_TAU: Self
The constant
TAU needed to extend
this field to the next level.
If we are in F, then the next field
F’ is constructed as F[X] / (X^2 + X + EXTENSION_TAU).impl Copy for Block8
impl Eq for Block8
impl StructuralPartialEq for Block8
Auto Trait Implementations§
impl Freeze for Block8
impl RefUnwindSafe for Block8
impl Send for Block8
impl Sync for Block8
impl Unpin for Block8
impl UnsafeUnpin for Block8
impl UnwindSafe for Block8
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<F> FlatPromote<F> for Fwhere
F: HardwareField,
impl<F> FlatPromote<F> for Fwhere
F: HardwareField,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more