competitive/algebra/
mod.rs

1//! algebra
2
3use crate::num::{Bounded, One, Zero};
4
5#[cfg_attr(nightly, codesnip::entry("MonoidAct"))]
6pub use self::action::*;
7#[cfg_attr(nightly, codesnip::entry("LazyMapMonoid"))]
8pub use self::lazy_map::*;
9#[codesnip::entry("algebra")]
10pub use self::magma::*;
11pub use self::operations::*;
12#[codesnip::entry("ring")]
13pub use self::ring::*;
14pub use self::ring_operations::*;
15
16#[cfg_attr(
17    nightly,
18    codesnip::entry(
19        "MonoidAct",
20        include("TupleOperation", "LastOperation", "LinearOperation")
21    )
22)]
23mod action;
24#[cfg_attr(
25    nightly,
26    codesnip::entry(
27        "LazyMapMonoid",
28        include(
29            "MonoidAct",
30            "AdditiveOperation",
31            "MaxOperation",
32            "MinOperation",
33            "bounded"
34        )
35    )
36)]
37mod lazy_map;
38#[cfg_attr(nightly, codesnip::entry("algebra"))]
39mod magma;
40mod operations;
41#[cfg_attr(
42    nightly,
43    codesnip::entry(
44        "ring",
45        include("algebra", "AdditiveOperation", "MultiplicativeOperation")
46    )
47)]
48mod ring;
49mod ring_operations;