competitive/algebra/
mod.rs1use 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;