Abelian

Trait Abelian 

Source
pub trait Abelian: Monoid {
    // Required method
    fn negate(self) -> Self;
}
Expand description

A Monoid with negation.

This trait extends the requirements of Semigroup to include a negation operator. Several differential dataflow operators require negation in order to retract prior outputs, but not quite as many as you might imagine.

Required Methods§

Source

fn negate(self) -> Self

The method of std::ops::Neg, for types that do not implement Neg.

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.

Implementations on Foreign Types§

Source§

impl Abelian for i8

Source§

fn negate(self) -> Self

Source§

impl Abelian for i16

Source§

fn negate(self) -> Self

Source§

impl Abelian for i32

Source§

fn negate(self) -> Self

Source§

impl Abelian for i64

Source§

fn negate(self) -> Self

Source§

impl Abelian for i128

Source§

fn negate(self) -> Self

Source§

impl Abelian for isize

Source§

fn negate(self) -> Self

Source§

impl Abelian for ()

Source§

fn negate(self) -> Self

Source§

impl Abelian for Wrapping<i8>

Source§

fn negate(self) -> Self

Source§

impl Abelian for Wrapping<i16>

Source§

fn negate(self) -> Self

Source§

impl Abelian for Wrapping<i32>

Source§

fn negate(self) -> Self

Source§

impl Abelian for Wrapping<i64>

Source§

fn negate(self) -> Self

Source§

impl Abelian for Wrapping<i128>

Source§

fn negate(self) -> Self

Source§

impl Abelian for Wrapping<isize>

Source§

fn negate(self) -> Self

Source§

impl<A1: Abelian> Abelian for (A1,)

Source§

fn negate(self) -> Self

Source§

impl<A1: Abelian, B1: Abelian> Abelian for (A1, B1)

Source§

fn negate(self) -> Self

Source§

impl<A1: Abelian, B1: Abelian, C1: Abelian> Abelian for (A1, B1, C1)

Source§

fn negate(self) -> Self

Source§

impl<A1: Abelian, B1: Abelian, C1: Abelian, D1: Abelian> Abelian for (A1, B1, C1, D1)

Source§

fn negate(self) -> Self

Source§

impl<R: Abelian> Abelian for Vec<R>

Source§

fn negate(self) -> Self

Implementors§