pub trait GroupElementVector<T>: Sized {
Show 17 methods
// Required methods
fn new(size: usize) -> Self;
fn with_capacity(capacity: usize) -> Self;
fn as_slice(&self) -> &[T];
fn as_mut_slice(&mut self) -> &mut [T];
fn len(&self) -> usize;
fn push(&mut self, value: T);
fn append(&mut self, other: &mut Self);
fn pop(&mut self) -> Option<T>;
fn insert(&mut self, index: usize, element: T);
fn remove(&mut self, index: usize) -> T;
fn sum(&self) -> T;
fn scale(&mut self, n: &CurveOrderElement);
fn scaled_by(&self, n: &CurveOrderElement) -> Self;
fn plus(&self, b: &Self) -> Result<Self, ValueError>;
fn minus(&self, b: &Self) -> Result<Self, ValueError>;
fn iter(&self) -> Iter<'_, T>;
fn random(size: usize) -> Self;
}Required Methods§
fn new(size: usize) -> Self
fn with_capacity(capacity: usize) -> Self
fn as_slice(&self) -> &[T]
fn as_mut_slice(&mut self) -> &mut [T]
fn len(&self) -> usize
fn push(&mut self, value: T)
fn append(&mut self, other: &mut Self)
fn pop(&mut self) -> Option<T>
fn insert(&mut self, index: usize, element: T)
fn remove(&mut self, index: usize) -> T
Sourcefn scale(&mut self, n: &CurveOrderElement)
fn scale(&mut self, n: &CurveOrderElement)
Multiply each element of the vector with a given field
element n (scale the vector). Modifies the vector.
Sourcefn scaled_by(&self, n: &CurveOrderElement) -> Self
fn scaled_by(&self, n: &CurveOrderElement) -> Self
Multiply each element of the vector with a given field
element n to create a new vector
Sourcefn plus(&self, b: &Self) -> Result<Self, ValueError>
fn plus(&self, b: &Self) -> Result<Self, ValueError>
Add 2 vectors
Sourcefn minus(&self, b: &Self) -> Result<Self, ValueError>
fn minus(&self, b: &Self) -> Result<Self, ValueError>
Subtract 2 vectors
fn iter(&self) -> Iter<'_, T>
fn random(size: usize) -> Self
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".