Trait abstalg::AbelianGroup
source · [−]pub trait AbelianGroup: Domain {
fn zero(&self) -> Self::Elem;
fn neg(&self, elem: &Self::Elem) -> Self::Elem;
fn add(&self, elem1: &Self::Elem, elem2: &Self::Elem) -> Self::Elem;
fn is_zero(&self, elem: &Self::Elem) -> bool { ... }
fn neg_assign(&self, elem: &mut Self::Elem) { ... }
fn add_assign(&self, elem1: &mut Self::Elem, elem2: &Self::Elem) { ... }
fn double(&self, elem: &mut Self::Elem) { ... }
fn sub(&self, elem1: &Self::Elem, elem2: &Self::Elem) -> Self::Elem { ... }
fn sub_assign(&self, elem1: &mut Self::Elem, elem2: &Self::Elem) { ... }
fn times(&self, num: isize, elem: &Self::Elem) -> Self::Elem { ... }
}
Expand description
A commutative group written in additive notation. Typical examples are the additive structures of rings, fields and vector spaces.
Required Methods
Provided Methods
Checks if the given element is the additive identity of the ring.
fn neg_assign(&self, elem: &mut Self::Elem)
fn neg_assign(&self, elem: &mut Self::Elem)
The element is changed to its additive inverse.
fn add_assign(&self, elem1: &mut Self::Elem, elem2: &Self::Elem)
fn add_assign(&self, elem1: &mut Self::Elem, elem2: &Self::Elem)
The second element is added to the first one.
The difference of the given elements.
fn sub_assign(&self, elem1: &mut Self::Elem, elem2: &Self::Elem)
fn sub_assign(&self, elem1: &mut Self::Elem, elem2: &Self::Elem)
The second element is subtracted from the first one.