pub trait PrimeGroup: AdditiveGroup<Scalar = Self::ScalarField> {
type ScalarField: PrimeField;
// Required methods
fn generator() -> Self;
fn mul_bigint(&self, other: impl AsRef<[u64]>) -> Self;
// Provided method
fn mul_bits_be(&self, other: impl Iterator<Item = bool>) -> Self { ... }
}
Expand description
Represents (elements of) a group of prime order r
.
Required Associated Types§
Sourcetype ScalarField: PrimeField
type ScalarField: PrimeField
The scalar field F_r
, where r
is the order of this group.
Required Methods§
Sourcefn mul_bigint(&self, other: impl AsRef<[u64]>) -> Self
fn mul_bigint(&self, other: impl AsRef<[u64]>) -> Self
Performs scalar multiplication of this element.
Provided Methods§
Sourcefn mul_bits_be(&self, other: impl Iterator<Item = bool>) -> Self
fn mul_bits_be(&self, other: impl Iterator<Item = bool>) -> Self
Computes other * self
, where other
is a big-endian
bit representation of some integer.
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.