Skip to main content

BaseField

Struct BaseField 

Source
pub struct BaseField;
Expand description

Finite field

Trait Implementations§

Source§

impl Clone for BaseField

Source§

fn clone(&self) -> BaseField

Returns a duplicate of the value. Read more
1.0.0 · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Debug for BaseField

Source§

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

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

impl Default for BaseField

Source§

fn default() -> BaseField

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

impl Field for BaseField

Source§

const Q: Self::Int = 3329

Field modulus.
Source§

const QL: Self::Long = 3329

Field modulus as Self::Long.
Source§

const QLL: Self::LongLong = 3329

Field modulus as Self::LongLong.
Source§

const BARRETT_SHIFT: usize

Bit shift used in Barrett reduction.
Source§

const BARRETT_MULTIPLIER: Self::LongLong

Precomputed multiplier for Barrett reduction.
Source§

type Int = u16

Base integer type used to represent field elements
Source§

type Long = u32

Double-width integer type used for intermediate computations.
Source§

type LongLong = u64

Quadruple-width integer type used for Barrett reduction.
Source§

fn small_reduce(x: Self::Int) -> Self::Int

Reduce a value that’s already close to the modulus range.
Source§

fn barrett_reduce(x: Self::Long) -> Self::Int

Reduce a wider value to a field element using Barrett reduction.
Source§

impl MultiplyNtt for BaseField

Algorithm 11: MultiplyNTTs

Source§

fn multiply_ntt( lhs: &NttPolynomial<BaseField>, rhs: &NttPolynomial<BaseField>, ) -> NttPolynomial<BaseField>

Multiply two NTT polynomials.
Source§

impl PartialEq for BaseField

Source§

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 · 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 Copy for BaseField

Source§

impl Eq for BaseField

Source§

impl StructuralPartialEq for BaseField

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
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
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<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> 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, 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.