[][src]Trait un_algebra::group::add_group::NumAddGroup

pub trait NumAddGroup: NumAddMonoid {
    fn negate(&self) -> Self;

    fn sub(&self, other: &Self) -> Self { ... }
fn axiom_left_negate(&self, eps: &Self::Eps) -> bool { ... }
fn axiom_right_negate(&self, eps: &Self::Eps) -> bool { ... } }

A "numeric" algebraic additive group.

NumAddGroup trait is for types that only form additive groups when "numeric" comparisons are used, e.g. floating point types.

Required methods

fn negate(&self) -> Self

The unique additive inverse of a group element.

Loading content...

Provided methods

fn sub(&self, other: &Self) -> Self

The additive "subtraction" of two group elements.

fn axiom_left_negate(&self, eps: &Self::Eps) -> bool

Numerically test the (left) axiom of negation.

fn axiom_right_negate(&self, eps: &Self::Eps) -> bool

Numerically test the (right) axiom of negation.

Loading content...

Implementations on Foreign Types

impl NumAddGroup for f32[src]

fn sub(&self, other: &Self) -> Self[src]

fn axiom_left_negate(&self, eps: &Self::Eps) -> bool[src]

fn axiom_right_negate(&self, eps: &Self::Eps) -> bool[src]

impl NumAddGroup for f64[src]

fn sub(&self, other: &Self) -> Self[src]

fn axiom_left_negate(&self, eps: &Self::Eps) -> bool[src]

fn axiom_right_negate(&self, eps: &Self::Eps) -> bool[src]

impl<T: NumAddGroup> NumAddGroup for (T,)[src]

1-tuples form a numeric additive group when their items do.

fn negate(&self) -> Self[src]

Negation is by element.

fn sub(&self, other: &Self) -> Self[src]

fn axiom_left_negate(&self, eps: &Self::Eps) -> bool[src]

fn axiom_right_negate(&self, eps: &Self::Eps) -> bool[src]

impl<T: NumAddGroup> NumAddGroup for (T, T)[src]

Homogeneous 2-tuples form a numeric additive group when their items do. Numeric comparisons require a common numeric error type.

fn negate(&self) -> Self[src]

Negation is by element.

fn sub(&self, other: &Self) -> Self[src]

fn axiom_left_negate(&self, eps: &Self::Eps) -> bool[src]

fn axiom_right_negate(&self, eps: &Self::Eps) -> bool[src]

impl<T: NumAddGroup> NumAddGroup for (T, T, T)[src]

Homogeneous 3-tuples form a numeric additive group when their items do. Numeric comparisons require a common numeric error type.

fn negate(&self) -> Self[src]

Negation is by element.

fn sub(&self, other: &Self) -> Self[src]

fn axiom_left_negate(&self, eps: &Self::Eps) -> bool[src]

fn axiom_right_negate(&self, eps: &Self::Eps) -> bool[src]

impl<T: Copy + Default + NumAddGroup> NumAddGroup for [T; 0][src]

fn sub(&self, other: &Self) -> Self[src]

fn axiom_left_negate(&self, eps: &Self::Eps) -> bool[src]

fn axiom_right_negate(&self, eps: &Self::Eps) -> bool[src]

impl<T: Copy + Default + NumAddGroup> NumAddGroup for [T; 1][src]

fn sub(&self, other: &Self) -> Self[src]

fn axiom_left_negate(&self, eps: &Self::Eps) -> bool[src]

fn axiom_right_negate(&self, eps: &Self::Eps) -> bool[src]

impl<T: Copy + Default + NumAddGroup> NumAddGroup for [T; 2][src]

fn sub(&self, other: &Self) -> Self[src]

fn axiom_left_negate(&self, eps: &Self::Eps) -> bool[src]

fn axiom_right_negate(&self, eps: &Self::Eps) -> bool[src]

impl<T: Copy + Default + NumAddGroup> NumAddGroup for [T; 3][src]

fn sub(&self, other: &Self) -> Self[src]

fn axiom_left_negate(&self, eps: &Self::Eps) -> bool[src]

fn axiom_right_negate(&self, eps: &Self::Eps) -> bool[src]

impl<T: Copy + Default + NumAddGroup> NumAddGroup for [T; 4][src]

fn sub(&self, other: &Self) -> Self[src]

fn axiom_left_negate(&self, eps: &Self::Eps) -> bool[src]

fn axiom_right_negate(&self, eps: &Self::Eps) -> bool[src]

impl<T: Copy + Default + NumAddGroup> NumAddGroup for [T; 5][src]

fn sub(&self, other: &Self) -> Self[src]

fn axiom_left_negate(&self, eps: &Self::Eps) -> bool[src]

fn axiom_right_negate(&self, eps: &Self::Eps) -> bool[src]

impl<T: Copy + Default + NumAddGroup> NumAddGroup for [T; 6][src]

fn sub(&self, other: &Self) -> Self[src]

fn axiom_left_negate(&self, eps: &Self::Eps) -> bool[src]

fn axiom_right_negate(&self, eps: &Self::Eps) -> bool[src]

impl<T: Copy + Default + NumAddGroup> NumAddGroup for [T; 7][src]

fn sub(&self, other: &Self) -> Self[src]

fn axiom_left_negate(&self, eps: &Self::Eps) -> bool[src]

fn axiom_right_negate(&self, eps: &Self::Eps) -> bool[src]

impl<T: Copy + Default + NumAddGroup> NumAddGroup for [T; 8][src]

fn sub(&self, other: &Self) -> Self[src]

fn axiom_left_negate(&self, eps: &Self::Eps) -> bool[src]

fn axiom_right_negate(&self, eps: &Self::Eps) -> bool[src]

impl<T: Copy + Default + NumAddGroup> NumAddGroup for [T; 9][src]

fn sub(&self, other: &Self) -> Self[src]

fn axiom_left_negate(&self, eps: &Self::Eps) -> bool[src]

fn axiom_right_negate(&self, eps: &Self::Eps) -> bool[src]

impl<T: Copy + Default + NumAddGroup> NumAddGroup for [T; 10][src]

fn sub(&self, other: &Self) -> Self[src]

fn axiom_left_negate(&self, eps: &Self::Eps) -> bool[src]

fn axiom_right_negate(&self, eps: &Self::Eps) -> bool[src]

impl<T: Copy + Default + NumAddGroup> NumAddGroup for [T; 11][src]

fn sub(&self, other: &Self) -> Self[src]

fn axiom_left_negate(&self, eps: &Self::Eps) -> bool[src]

fn axiom_right_negate(&self, eps: &Self::Eps) -> bool[src]

impl<T: Copy + Default + NumAddGroup> NumAddGroup for [T; 12][src]

fn sub(&self, other: &Self) -> Self[src]

fn axiom_left_negate(&self, eps: &Self::Eps) -> bool[src]

fn axiom_right_negate(&self, eps: &Self::Eps) -> bool[src]

impl<T: Copy + Default + NumAddGroup> NumAddGroup for [T; 13][src]

fn sub(&self, other: &Self) -> Self[src]

fn axiom_left_negate(&self, eps: &Self::Eps) -> bool[src]

fn axiom_right_negate(&self, eps: &Self::Eps) -> bool[src]

impl<T: Copy + Default + NumAddGroup> NumAddGroup for [T; 14][src]

fn sub(&self, other: &Self) -> Self[src]

fn axiom_left_negate(&self, eps: &Self::Eps) -> bool[src]

fn axiom_right_negate(&self, eps: &Self::Eps) -> bool[src]

impl<T: Copy + Default + NumAddGroup> NumAddGroup for [T; 15][src]

fn sub(&self, other: &Self) -> Self[src]

fn axiom_left_negate(&self, eps: &Self::Eps) -> bool[src]

fn axiom_right_negate(&self, eps: &Self::Eps) -> bool[src]

impl<T: Copy + Default + NumAddGroup> NumAddGroup for [T; 16][src]

fn sub(&self, other: &Self) -> Self[src]

fn axiom_left_negate(&self, eps: &Self::Eps) -> bool[src]

fn axiom_right_negate(&self, eps: &Self::Eps) -> bool[src]

Loading content...

Implementors

Loading content...