pub trait Group:
Copy
+ Clone
+ Send
+ Sync
+ 'static {
type Scalar: FieldExt;
// Required methods
fn group_zero() -> Self;
fn group_add(&mut self, rhs: &Self);
fn group_sub(&mut self, rhs: &Self);
fn group_scale(&mut self, by: &Self::Scalar);
}
Expand description
This represents an element of a group with basic operations that can be performed. This allows an FFT implementation (for example) to operate generically over either a field or elliptic curve group.
Required Associated Types§
Required Methods§
Sourcefn group_zero() -> Self
fn group_zero() -> Self
Returns the additive identity of the group.
Sourcefn group_scale(&mut self, by: &Self::Scalar)
fn group_scale(&mut self, by: &Self::Scalar)
Scales this group element by a scalar.
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.