amonoid

Crates.ioamonoid
lib.rsamonoid
version0.1.2
created_at2024-08-20 00:35:46.18209+00
updated_at2024-12-26 17:16:25.702395+00
descriptionA general-purpose monoid library
homepage
repositoryhttps://codeberg.org/T0mstone/amonoid
max_upload_size
id1344674
size64,145
T0mstone (T0mstone)

documentation

https://docs.rs/amonoid

README

A monoid

A crate about monoids.

Example usage

use amonoid::{Monoid, from_ops::Add};
use std::num::Saturating;

fn braid<M: Monoid + Clone>(a: M, b: M, n: usize) -> M {
	M::combine_iter([a, b].iter().cloned().cycle().take(2 * n))
}

assert_eq!(braid(Add(Saturating(2)), Add(Saturating(3)), 5), Add(Saturating(25)));
assert_eq!(braid("b".to_string(), "a".to_string(), 2), "baba");
Commit count: 0

cargo fmt