Trait zksync_bellman::PrimeFieldRepr
source · pub trait PrimeFieldRepr:
Sized
+ Copy
+ Clone
+ Eq
+ Ord
+ Send
+ Sync
+ Default
+ Debug
+ Display
+ 'static
+ Rand
+ AsRef<[u64]>
+ AsMut<[u64]>
+ From<u64>
+ Hash
+ Serialize
+ DeserializeOwned {
Show 14 methods
// Required methods
fn sub_noborrow(&mut self, other: &Self);
fn add_nocarry(&mut self, other: &Self);
fn num_bits(&self) -> u32;
fn is_zero(&self) -> bool;
fn is_odd(&self) -> bool;
fn is_even(&self) -> bool;
fn div2(&mut self);
fn shr(&mut self, amt: u32);
fn mul2(&mut self);
fn shl(&mut self, amt: u32);
// Provided methods
fn write_be<W>(&self, writer: W) -> Result<(), Error>
where W: Write { ... }
fn read_be<R>(&mut self, reader: R) -> Result<(), Error>
where R: Read { ... }
fn write_le<W>(&self, writer: W) -> Result<(), Error>
where W: Write { ... }
fn read_le<R>(&mut self, reader: R) -> Result<(), Error>
where R: Read { ... }
}
Expand description
This trait represents a wrapper around a biginteger which can encode any element of a particular
prime field. It is a smart wrapper around a sequence of u64
limbs, least-significant digit
first.
Required Methods§
sourcefn sub_noborrow(&mut self, other: &Self)
fn sub_noborrow(&mut self, other: &Self)
Subtract another represetation from this one.
sourcefn add_nocarry(&mut self, other: &Self)
fn add_nocarry(&mut self, other: &Self)
Add another representation to this one.
sourcefn num_bits(&self) -> u32
fn num_bits(&self) -> u32
Compute the number of bits needed to encode this number. Always a multiple of 64.
Provided Methods§
sourcefn write_be<W>(&self, writer: W) -> Result<(), Error>where
W: Write,
fn write_be<W>(&self, writer: W) -> Result<(), Error>where
W: Write,
Writes this PrimeFieldRepr
as a big endian integer.
sourcefn read_be<R>(&mut self, reader: R) -> Result<(), Error>where
R: Read,
fn read_be<R>(&mut self, reader: R) -> Result<(), Error>where
R: Read,
Reads a big endian integer into this representation.
Object Safety§
This trait is not object safe.