Skip to main content

Ghash128b

Struct Ghash128b 

Source
pub struct Ghash128b(/* private fields */);

Implementations§

Source§

impl Ghash128b

Source

pub const fn val(self) -> M128

Source§

impl Ghash128b

Source

pub const fn new(value: u128) -> Self

Constructs an element from its u128 value. The underlier is M128, but u128 is the ergonomic constructor type, so this converts.

Trait Implementations§

Source§

impl Add for Ghash128b

Source§

type Output = Ghash128b

The resulting type after applying the + operator.
Source§

fn add(self, rhs: Self) -> Self::Output

Performs the + operation. Read more
Source§

impl Add<&Ghash128b> for Ghash128b

Source§

type Output = Ghash128b

The resulting type after applying the + operator.
Source§

fn add(self, rhs: &Self) -> Self::Output

Performs the + operation. Read more
Source§

impl Add<BinaryField1b> for Ghash128b

Source§

type Output = Ghash128b

The resulting type after applying the + operator.
Source§

fn add(self, rhs: BinaryField1b) -> Self::Output

Performs the + operation. Read more
Source§

impl Add<Ghash128b> for BinaryField1b

Source§

type Output = Ghash128b

The resulting type after applying the + operator.
Source§

fn add(self, rhs: Ghash128b) -> Self::Output

Performs the + operation. Read more
Source§

impl Add<Ghash128b> for GhashSq256b

Source§

type Output = GhashSq256b

The resulting type after applying the + operator.
Source§

fn add(self, rhs: Ghash128b) -> Self::Output

Performs the + operation. Read more
Source§

impl Add<GhashSq256b> for Ghash128b

Source§

type Output = GhashSq256b

The resulting type after applying the + operator.
Source§

fn add(self, rhs: GhashSq256b) -> Self::Output

Performs the + operation. Read more
Source§

impl AddAssign for Ghash128b

Source§

fn add_assign(&mut self, rhs: Self)

Performs the += operation. Read more
Source§

impl AddAssign<&Ghash128b> for Ghash128b

Source§

fn add_assign(&mut self, rhs: &Self)

Performs the += operation. Read more
Source§

impl AddAssign<BinaryField1b> for Ghash128b

Source§

fn add_assign(&mut self, rhs: BinaryField1b)

Performs the += operation. Read more
Source§

impl AddAssign<Ghash128b> for GhashSq256b

Source§

fn add_assign(&mut self, rhs: Ghash128b)

Performs the += operation. Read more
Source§

impl BinaryField for Ghash128b

Source§

const TRACE_ONE_ELEMENT: Self

An element whose absolute trace is 1. Read more
Source§

const N_BITS: usize = Self::ORDER_EXPONENT

Source§

impl Clone for Ghash128b

Source§

fn clone(&self) -> Ghash128b

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Copy for Ghash128b

Source§

impl Debug for Ghash128b

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for Ghash128b

Source§

fn default() -> Ghash128b

Returns the “default value” for a type. Read more
Source§

impl DeserializeBytes for Ghash128b

Source§

fn deserialize(read_buf: impl Buf) -> Result<Self, SerializationError>

Source§

impl Display for Ghash128b

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Distribution<Ghash128b> for StandardUniform

Source§

fn sample<R: Rng + ?Sized>(&self, rng: &mut R) -> Ghash128b

Generate a random value of T, using rng as the source of randomness.
§

fn sample_iter<R>(self, rng: R) -> Iter<Self, R, T>
where R: Rng, Self: Sized,

Create an iterator that generates random values of T, using rng as the source of randomness. Read more
§

fn map<F, S>(self, func: F) -> Map<Self, F, T, S>
where F: Fn(T) -> S, Self: Sized,

Map sampled values to type S Read more
Source§

impl Divisible<Ghash128b> for Ghash128b

Source§

const LOG_N: usize = 0

The log2 of the number of T elements that fit in Self.
Source§

fn value_iter( value: Self, ) -> impl ExactSizeIterator<Item = Ghash128b> + Send + Clone

Returns an iterator over subdivisions of this underlier value, ordered from LSB to MSB.
Source§

fn ref_iter( value: &Self, ) -> impl ExactSizeIterator<Item = Ghash128b> + Send + Clone + '_

Returns an iterator over subdivisions of this underlier reference, ordered from LSB to MSB.
Source§

fn slice_iter( slice: &[Self], ) -> impl ExactSizeIterator<Item = Ghash128b> + Send + Clone + '_

Returns an iterator over subdivisions of a slice of underliers, ordered from LSB to MSB.
Source§

unsafe fn get_unchecked(&self, _index: usize) -> Ghash128b

Get element at index (LSB-first ordering) without bounds checking. Read more
Source§

unsafe fn set_unchecked(&mut self, _index: usize, val: Ghash128b)

Set element at index (LSB-first ordering) in place, without bounds checking. Read more
Source§

fn broadcast(val: Ghash128b) -> Self

Create a value with val broadcast to all N positions.
Source§

fn from_iter(iter: impl Iterator<Item = Ghash128b>) -> Self

Construct a value from an iterator of elements. Read more
Source§

const N: usize = _

The number of T elements that fit in Self.
Source§

fn get(&self, index: usize) -> T

Get element at index (LSB-first ordering). Read more
Source§

fn set(&mut self, index: usize, val: T)

Set element at index (LSB-first ordering), in place. Read more
Source§

impl Eq for Ghash128b

Source§

impl ExtensionField<BinaryField1b> for Ghash128b

Source§

const LOG_DEGREE: usize = 7

Base-2 logarithm of the extension degree.
Source§

fn basis(i: usize) -> Self

For 0 <= i < DEGREE, returns i-th basis field element. Read more
Source§

fn from_bases_sparse( base_elems: impl IntoIterator<Item = BinaryField1b>, log_stride: usize, ) -> Self

A specialized version of from_bases which assumes that only base field elements with indices dividing 2^log_stride can be nonzero. Read more
Source§

fn iter_bases(&self) -> impl Iterator<Item = BinaryField1b>

Iterator over base field elements.
Source§

unsafe fn get_base_unchecked(&self, i: usize) -> BinaryField1b

Returns the i-th base field element without bounds checking. Read more
Source§

fn square_transpose(values: &mut [Self])

Transpose square block of subfield elements within values in place. Read more
Source§

const DEGREE: usize = _

Extension degree. Read more
Source§

fn from_bases(base_elems: impl IntoIterator<Item = F>) -> Self

Create an extension field element from a slice of base field elements in order consistent with basis(i) return values. Potentially faster than taking an inner product with a vector of basis elements. Read more
Source§

fn get_base(&self, i: usize) -> F

Returns the i-th base field element.
Source§

impl ExtensionField<Ghash128b> for GhashSq256b

Source§

const LOG_DEGREE: usize = 1

Base-2 logarithm of the extension degree.
Source§

fn basis(i: usize) -> Self

For 0 <= i < DEGREE, returns i-th basis field element. Read more
Source§

fn from_bases_sparse( base_elems: impl IntoIterator<Item = Ghash128b>, log_stride: usize, ) -> Self

A specialized version of from_bases which assumes that only base field elements with indices dividing 2^log_stride can be nonzero. Read more
Source§

fn iter_bases(&self) -> impl Iterator<Item = Ghash128b>

Iterator over base field elements.
Source§

unsafe fn get_base_unchecked(&self, i: usize) -> Ghash128b

Returns the i-th base field element without bounds checking. Read more
Source§

fn square_transpose(values: &mut [Self])

Transpose square block of subfield elements within values in place. Read more
Source§

const DEGREE: usize = _

Extension degree. Read more
Source§

fn from_bases(base_elems: impl IntoIterator<Item = F>) -> Self

Create an extension field element from a slice of base field elements in order consistent with basis(i) return values. Potentially faster than taking an inner product with a vector of basis elements. Read more
Source§

fn get_base(&self, i: usize) -> F

Returns the i-th base field element.
Source§

impl Field for Ghash128b

Source§

const ZERO: Self

The zero element of the field, the additive identity.
Source§

const ONE: Self

The one element of the field, the multiplicative identity.
Source§

const CHARACTERISTIC: usize = 2

The characteristic p of the field. The field order is p^k where k is ORDER_EXPONENT.
Source§

const ORDER_EXPONENT: usize = <M128 as crate::underlier::Underlier>::BITS

The exponent k such that the field order equals CHARACTERISTIC^k.
Source§

const MULTIPLICATIVE_GENERATOR: Ghash128b

Fixed generator of the multiplicative group.
Source§

fn double(&self) -> Self

Doubles this element.
Source§

fn is_zero(&self) -> bool

Returns true iff this element is zero.
Source§

fn pow<S: AsRef<[u64]>>(&self, exp: S) -> Self

Exponentiates self by exp, where exp is a little-endian order integer exponent.
Source§

impl FixedSizeSerializeBytes for Ghash128b

Source§

const BYTE_SIZE: usize = <M128 as binius_utils::FixedSizeSerializeBytes>::BYTE_SIZE

The exact number of bytes written by serialize and read by deserialize.
Source§

impl From<BinaryField1b> for Ghash128b

Source§

fn from(elem: BinaryField1b) -> Self

Converts to this type from the input type.
Source§

impl From<Ghash128b> for M128

Source§

fn from(val: Ghash128b) -> Self

Converts to this type from the input type.
Source§

impl From<Ghash128b> for u128

Source§

fn from(value: Ghash128b) -> Self

Converts to this type from the input type.
Source§

impl From<Ghash128b> for GhashSq256b

Source§

fn from(elem: Ghash128b) -> Self

Converts to this type from the input type.
Source§

impl From<M128> for Ghash128b

Source§

fn from(val: M128) -> Self

Converts to this type from the input type.
Source§

impl From<Rijndael8b> for Ghash128b

Source§

fn from(value: Rijndael8b) -> Self

Converts to this type from the input type.
Source§

impl From<u128> for Ghash128b

Source§

fn from(value: u128) -> Self

Converts to this type from the input type.
Source§

impl Hash for Ghash128b

Source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl InvertOrZero for Ghash128b

Source§

fn invert_or_zero(self) -> Self

Returns the inverted value or zero in case when self is zero
Source§

unsafe fn invert(self) -> Self
where Self: Sized,

Returns the multiplicative inverse. Read more
Source§

impl Maskable<Ghash128b> for Ghash128b

Source§

type Mask = M128

A precomputed mask selecting which T-lanes select keeps. Read more
Source§

fn make_mask(selectors: impl Iterator<Item = bool>) -> M128

Builds a mask from per-lane boolean selectors, in LSB-to-MSB lane order (the same ordering as Divisible). Consumes at most Divisible::N selectors; any lane past the end of the iterator, or whose selector is false, is not selected.
Source§

fn select(&self, mask: &M128) -> Self

Returns a value keeping the lanes selected when mask was built and zeroing the rest. Read more
Source§

impl Mul for Ghash128b

Source§

type Output = Ghash128b

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: Self) -> Self

Performs the * operation. Read more
Source§

impl Mul<&Ghash128b> for Ghash128b

Source§

type Output = Ghash128b

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: &Self) -> Self::Output

Performs the * operation. Read more
Source§

impl Mul<BinaryField1b> for Ghash128b

Source§

type Output = Ghash128b

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: BinaryField1b) -> Self::Output

Performs the * operation. Read more
Source§

impl Mul<Ghash128b> for BinaryField1b

Source§

type Output = Ghash128b

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: Ghash128b) -> Self::Output

Performs the * operation. Read more
Source§

impl Mul<Ghash128b> for GhashSq256b

Source§

type Output = GhashSq256b

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: Ghash128b) -> Self::Output

Performs the * operation. Read more
Source§

impl Mul<GhashSq256b> for Ghash128b

Source§

type Output = GhashSq256b

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: GhashSq256b) -> Self::Output

Performs the * operation. Read more
Source§

impl MulAssign for Ghash128b

Source§

fn mul_assign(&mut self, rhs: Self)

Performs the *= operation. Read more
Source§

impl MulAssign<&Ghash128b> for Ghash128b

Source§

fn mul_assign(&mut self, rhs: &Self)

Performs the *= operation. Read more
Source§

impl MulAssign<BinaryField1b> for Ghash128b

Source§

fn mul_assign(&mut self, rhs: BinaryField1b)

Performs the *= operation. Read more
Source§

impl MulAssign<Ghash128b> for GhashSq256b

Source§

fn mul_assign(&mut self, rhs: Ghash128b)

Performs the *= operation. Read more
Source§

impl MulX for Ghash128b

Source§

fn mul_x(self) -> Self

Returns the value scaled by X.
Source§

impl Neg for Ghash128b

Source§

type Output = Ghash128b

The resulting type after applying the - operator.
Source§

fn neg(self) -> Self::Output

Performs the unary - operation. Read more
Source§

impl Ord for Ghash128b

Source§

fn cmp(&self, other: &Ghash128b) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 (const: unstable) · Source§

fn max(self, other: Self) -> Self
where Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 (const: unstable) · Source§

fn min(self, other: Self) -> Self
where Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 (const: unstable) · Source§

fn clamp(self, min: Self, max: Self) -> Self
where Self: Sized,

Restrict a value to a certain interval. Read more
Source§

impl PackedField for Ghash128b

Source§

fn interleave(self, _other: Self, _log_block_len: usize) -> (Self, Self)

Interleaves blocks of this packed vector with another packed vector. Read more
Source§

fn unzip(self, _other: Self, _log_block_len: usize) -> (Self, Self)

Unzips interleaved blocks of this packed vector with another packed vector. Read more
Source§

fn from_fn(f: impl FnMut(usize) -> Self::Scalar) -> Self

Construct a packed field element from a function that returns scalar values by index.
Source§

unsafe fn spread_unchecked( self, _log_block_len: usize, _block_idx: usize, ) -> Self

Unsafe version of Self::spread. Read more
Source§

const LOG_WIDTH: usize = Self::LOG_N

Base-2 logarithm of the number of field elements packed into one packed element. Read more
Source§

const WIDTH: usize = _

The number of field elements packed into one packed element. Read more
Source§

fn into_iter(self) -> impl ExactSizeIterator<Item = Self::Scalar> + Send + Clone

Yields one scalar per lane, from the lowest lane to the highest.
Source§

fn iter( &self, ) -> impl ExactSizeIterator<Item = Self::Scalar> + Send + Clone + '_

Yields one scalar per lane, from the lowest lane to the highest.
Source§

fn iter_slice( slice: &[Self], ) -> impl ExactSizeIterator<Item = Self::Scalar> + Send + Clone + '_

Yields every scalar of the whole slice: element by element, each element’s lanes in order.
Source§

fn from_scalars(values: impl IntoIterator<Item = Self::Scalar>) -> Self

Construct a packed field element from a sequence of scalars. Read more
Source§

fn pow(self, exp: u64) -> Self

Returns the value to the power exp.
Source§

fn spread(self, log_block_len: usize, block_idx: usize) -> Self

Spread takes a block of elements within a packed field and repeats them to the full packing width. Read more
Source§

impl PartialEq for Ghash128b

Source§

fn eq(&self, other: &Ghash128b) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl PartialOrd for Ghash128b

Source§

fn partial_cmp(&self, other: &Ghash128b) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 (const: unstable) · Source§

fn lt(&self, other: &Rhs) -> bool

Tests less than (for self and other) and is used by the < operator. Read more
1.0.0 (const: unstable) · Source§

fn le(&self, other: &Rhs) -> bool

Tests less than or equal to (for self and other) and is used by the <= operator. Read more
1.0.0 (const: unstable) · Source§

fn gt(&self, other: &Rhs) -> bool

Tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 (const: unstable) · Source§

fn ge(&self, other: &Rhs) -> bool

Tests greater than or equal to (for self and other) and is used by the >= operator. Read more
Source§

impl Pod for Ghash128b

Source§

impl Product for Ghash128b

Source§

fn product<I: Iterator<Item = Self>>(iter: I) -> Self

Takes an iterator and generates Self from the elements by multiplying the items.
Source§

impl<'a> Product<&'a Ghash128b> for Ghash128b

Source§

fn product<I: Iterator<Item = &'a Self>>(iter: I) -> Self

Takes an iterator and generates Self from the elements by multiplying the items.
Source§

impl SerializeBytes for Ghash128b

Source§

fn serialize(&self, write_buf: impl BufMut) -> Result<(), SerializationError>

Source§

impl Square for Ghash128b

Source§

fn square(self) -> Self

Returns the value multiplied by itself
Source§

impl StructuralPartialEq for Ghash128b

Source§

impl Sub for Ghash128b

Source§

type Output = Ghash128b

The resulting type after applying the - operator.
Source§

fn sub(self, rhs: Self) -> Self::Output

Performs the - operation. Read more
Source§

impl Sub<&Ghash128b> for Ghash128b

Source§

type Output = Ghash128b

The resulting type after applying the - operator.
Source§

fn sub(self, rhs: &Self) -> Self::Output

Performs the - operation. Read more
Source§

impl Sub<BinaryField1b> for Ghash128b

Source§

type Output = Ghash128b

The resulting type after applying the - operator.
Source§

fn sub(self, rhs: BinaryField1b) -> Self::Output

Performs the - operation. Read more
Source§

impl Sub<Ghash128b> for BinaryField1b

Source§

type Output = Ghash128b

The resulting type after applying the - operator.
Source§

fn sub(self, rhs: Ghash128b) -> Self::Output

Performs the - operation. Read more
Source§

impl Sub<Ghash128b> for GhashSq256b

Source§

type Output = GhashSq256b

The resulting type after applying the - operator.
Source§

fn sub(self, rhs: Ghash128b) -> Self::Output

Performs the - operation. Read more
Source§

impl Sub<GhashSq256b> for Ghash128b

Source§

type Output = GhashSq256b

The resulting type after applying the - operator.
Source§

fn sub(self, rhs: GhashSq256b) -> Self::Output

Performs the - operation. Read more
Source§

impl SubAssign for Ghash128b

Source§

fn sub_assign(&mut self, rhs: Self)

Performs the -= operation. Read more
Source§

impl SubAssign<&Ghash128b> for Ghash128b

Source§

fn sub_assign(&mut self, rhs: &Self)

Performs the -= operation. Read more
Source§

impl SubAssign<BinaryField1b> for Ghash128b

Source§

fn sub_assign(&mut self, rhs: BinaryField1b)

Performs the -= operation. Read more
Source§

impl SubAssign<Ghash128b> for GhashSq256b

Source§

fn sub_assign(&mut self, rhs: Ghash128b)

Performs the -= operation. Read more
Source§

impl Sum for Ghash128b

Source§

fn sum<I: Iterator<Item = Self>>(iter: I) -> Self

Takes an iterator and generates Self from the elements by “summing up” the items.
Source§

impl<'a> Sum<&'a Ghash128b> for Ghash128b

Source§

fn sum<I: Iterator<Item = &'a Self>>(iter: I) -> Self

Takes an iterator and generates Self from the elements by “summing up” the items.
Source§

impl TransparentWrapper<M128> for Ghash128b

§

fn wrap(s: Inner) -> Self
where Self: Sized, Inner: Sized,

Convert the inner type into the wrapper type.
§

fn wrap_ref(s: &Inner) -> &Self

Convert a reference to the inner type into a reference to the wrapper type.
§

fn wrap_mut(s: &mut Inner) -> &mut Self

Convert a mutable reference to the inner type into a mutable reference to the wrapper type.
§

fn wrap_slice(s: &[Inner]) -> &[Self]
where Self: Sized, Inner: Sized,

Convert a slice to the inner type into a slice to the wrapper type.
§

fn wrap_slice_mut(s: &mut [Inner]) -> &mut [Self]
where Self: Sized, Inner: Sized,

Convert a mutable slice to the inner type into a mutable slice to the wrapper type.
§

fn peel(s: Self) -> Inner
where Self: Sized, Inner: Sized,

Convert the wrapper type into the inner type.
§

fn peel_ref(s: &Self) -> &Inner

Convert a reference to the wrapper type into a reference to the inner type.
§

fn peel_mut(s: &mut Self) -> &mut Inner

Convert a mutable reference to the wrapper type into a mutable reference to the inner type.
§

fn peel_slice(s: &[Self]) -> &[Inner]
where Self: Sized, Inner: Sized,

Convert a slice to the wrapped type into a slice to the inner type.
§

fn peel_slice_mut(s: &mut [Self]) -> &mut [Inner]
where Self: Sized, Inner: Sized,

Convert a mutable slice to the wrapped type into a mutable slice to the inner type.
Source§

impl TryFrom<Ghash128b> for BinaryField1b

Source§

type Error = ()

The type returned in the event of a conversion error.
Source§

fn try_from(elem: Ghash128b) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl TryFrom<GhashSq256b> for Ghash128b

Source§

type Error = ()

The type returned in the event of a conversion error.
Source§

fn try_from(elem: GhashSq256b) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl UnderlierView for Ghash128b

Source§

type Underlier = M128

The underlier holding this type’s bits.
Source§

fn to_underlier(self) -> Self::Underlier

Views this value as its underlier.
Source§

fn to_underlier_ref(&self) -> &Self::Underlier

Views a shared reference as one to its underlier.
Source§

fn to_underlier_ref_mut(&mut self) -> &mut Self::Underlier

Views a mutable reference as one to its underlier.
Source§

fn to_underliers_ref(val: &[Self]) -> &[Self::Underlier]

Views a slice as a slice of underliers, without copying.
Source§

fn to_underliers_ref_mut(val: &mut [Self]) -> &mut [Self::Underlier]

Views a mutable slice as a mutable slice of underliers, without copying.
Source§

fn from_underlier(val: Self::Underlier) -> Self

Reads an underlier as this type.
Source§

fn from_underlier_ref(val: &Self::Underlier) -> &Self

Views a shared reference to an underlier as one to this type.
Source§

fn from_underlier_ref_mut(val: &mut Self::Underlier) -> &mut Self

Views a mutable reference to an underlier as one to this type.
Source§

fn from_underliers_ref(val: &[Self::Underlier]) -> &[Self]

Views a slice of underliers as a slice of this type, without copying.
Source§

fn from_underliers_ref_mut(val: &mut [Self::Underlier]) -> &mut [Self]

Views a mutable slice of underliers as a mutable slice of this type, without copying.
Source§

fn mutate_underlier( self, f: impl FnOnce(Self::Underlier) -> Self::Underlier, ) -> Self

Rewrites the bits through a function on the underlier, keeping this type on both ends.
Source§

impl WideMul for Ghash128b

Source§

type Output = <PackedPrimitiveType<M128, Ghash128b> as WideMul>::Output

Source§

fn wide_mul(a: Self, b: Self) -> Self::Output

Source§

fn reduce(wide: Self::Output) -> Self

Source§

impl Zeroable for Ghash128b

§

fn zeroed() -> Self

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<T> AnyBitPattern for T
where T: Pod,

Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<T> CheckedBitPattern for T
where T: AnyBitPattern,

§

type Bits = T

Self must have the same layout as the specified Bits except for the possible invalid bit patterns being checked during is_valid_bit_pattern.
§

fn is_valid_bit_pattern(_bits: &T) -> bool

If this function returns true, then it must be valid to reinterpret bits as &Self.
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<F> ExtensionField<F> for F
where F: Field,

Source§

const LOG_DEGREE: usize = const LOG_DEGREE: usize = 0;

Base-2 logarithm of the extension degree.
Source§

fn basis(i: usize) -> F

For 0 <= i < DEGREE, returns i-th basis field element. Read more
Source§

fn from_bases_sparse( base_elems: impl IntoIterator<Item = F>, log_stride: usize, ) -> F

A specialized version of from_bases which assumes that only base field elements with indices dividing 2^log_stride can be nonzero. Read more
Source§

fn iter_bases(&self) -> impl Iterator<Item = F>

Iterator over base field elements.
Source§

unsafe fn get_base_unchecked(&self, i: usize) -> F

Returns the i-th base field element without bounds checking. Read more
Source§

fn square_transpose(values: &mut [F])

Transpose square block of subfield elements within values in place. Read more
Source§

const DEGREE: usize = _

Extension degree. Read more
Source§

fn from_bases(base_elems: impl IntoIterator<Item = F>) -> Self

Create an extension field element from a slice of base field elements in order consistent with basis(i) return values. Potentially faster than taking an inner product with a vector of basis elements. Read more
Source§

fn get_base(&self, i: usize) -> F

Returns the i-th base field element.
Source§

impl<F> FieldOps for F
where F: Field,

Source§

type Scalar = F

Source§

fn zero() -> F

Returns the zero element (additive identity).
Source§

fn one() -> F

Returns the one element (multiplicative identity).
Source§

fn square_transpose<FSub>(elems: &mut [F])
where FSub: Field, F: ExtensionField<FSub>,

Transpose the subfield elements in a slice of field elements. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

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
§

impl<T> NoUninit for T
where T: Pod,

Source§

impl<PT> PackedBinaryField for PT
where PT: PackedField, <PT as FieldOps>::Scalar: BinaryField,

§

impl<T> Pointable for T

§

const ALIGN: usize

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> Random for T
where StandardUniform: Distribution<T>,

Source§

fn random(rng: impl Rng) -> T

Generate random value
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
§

impl<I, T> TransparentWrapperAlloc<I> for T
where T: TransparentWrapper<I> + ?Sized, I: ?Sized,

§

fn wrap_vec(s: Vec<Inner>) -> Vec<Self>
where Self: Sized, Inner: Sized,

Convert a vec of the inner type into a vec of the wrapper type.
§

fn wrap_box(s: Box<Inner>) -> Box<Self>

Convert a box to the inner type into a box to the wrapper type.
§

fn wrap_rc(s: Rc<Inner>) -> Rc<Self>

Convert an Rc to the inner type into an Rc to the wrapper type.
§

fn wrap_arc(s: Arc<Inner>) -> Arc<Self>

Convert an Arc to the inner type into an Arc to the wrapper type.
§

fn peel_vec(s: Vec<Self>) -> Vec<Inner>
where Self: Sized, Inner: Sized,

Convert a vec of the wrapper type into a vec of the inner type.
§

fn peel_box(s: Box<Self>) -> Box<Inner>

Convert a box to the wrapper type into a box to the inner type.
§

fn peel_rc(s: Rc<Self>) -> Rc<Inner>

Convert an Rc to the wrapper type into an Rc to the inner type.
§

fn peel_arc(s: Arc<Self>) -> Arc<Inner>

Convert an Arc to the wrapper type into an Arc to the inner type.
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.