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.

Object Safety§

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§