pub trait Commutative: Magma { }
Expand description

交換法則を満たす。

二項演算 $\circ: M \times M \to M$ が交換法則を満たすことを示す。 $$ x, y \in M \implies x \circ y = y \circ x. $$ 交換法則を満たさない演算の例としては、文字列結合や線形関数の合成、行列積などが挙げられる。

Examples

use nekolib::traits::{Commutative, Magma};
use nekolib::utils::OpMin;

let op_min = OpMin::default();
let (x, y) = (3, 4);
assert_eq!(op_min.op(x, y), op_min.op(y, x));

Implementors§

source§

impl<T> Commutative for OpAdd<T>where T: Add<Output = T> + Eq + Sized + AddComm,

source§

impl<T> Commutative for OpAddCount<T>where T: Add<Output = T> + Eq + Sized + AddComm,

source§

impl<T> Commutative for OpGcd<T>where T: Gcd + Eq + Sized,

source§

impl<T> Commutative for OpMax<T>where T: Ord + Eq + Sized,

source§

impl<T> Commutative for OpMin<T>where T: Ord + Eq + Sized,

source§

impl<T> Commutative for OpMul<T>where T: Mul<Output = T> + Eq + Sized + MulComm,