Skip to main content

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            "CountingOperation",
34            "bounded"
35        )
36    )
37)]
38mod lazy_map;
39#[cfg_attr(nightly, codesnip::entry("algebra"))]
40mod magma;
41mod operations;
42#[cfg_attr(
43    nightly,
44    codesnip::entry(
45        "ring",
46        include("algebra", "AdditiveOperation", "MultiplicativeOperation")
47    )
48)]
49mod ring;
50mod ring_operations;