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.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.