Skip to main content

GroupElementVector

Trait GroupElementVector 

Source
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§

Source

fn new(size: usize) -> Self

Source

fn with_capacity(capacity: usize) -> Self

Source

fn as_slice(&self) -> &[T]

Source

fn as_mut_slice(&mut self) -> &mut [T]

Source

fn len(&self) -> usize

Source

fn push(&mut self, value: T)

Source

fn append(&mut self, other: &mut Self)

Source

fn pop(&mut self) -> Option<T>

Source

fn insert(&mut self, index: usize, element: T)

Source

fn remove(&mut self, index: usize) -> T

Source

fn sum(&self) -> T

Compute sum of all elements of the vector

Source

fn scale(&mut self, n: &CurveOrderElement)

Multiply each element of the vector with a given field element n (scale the vector). Modifies the vector.

Source

fn scaled_by(&self, n: &CurveOrderElement) -> Self

Multiply each element of the vector with a given field element n to create a new vector

Source

fn plus(&self, b: &Self) -> Result<Self, ValueError>

Add 2 vectors

Source

fn minus(&self, b: &Self) -> Result<Self, ValueError>

Subtract 2 vectors

Source

fn iter(&self) -> Iter<'_, T>

Source

fn random(size: usize) -> Self

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§