manabeai/ac-library-mbt/modint does not have a README file

    ModInt

    type ModInt = DynamicModInt[DefaultId]

    Immutable residue in [0, modulus).

    ModInt1000000007

    type ModInt1000000007 = StaticModInt[Mod1000000007]

    Immutable residue in [0, modulus).

    ModInt998244353

    type ModInt998244353 = StaticModInt[Mod998244353]

    Immutable residue in [0, modulus).

    DynamicModulus

    pub(open) trait DynamicModulus {
    fn state() -> ModState
    }

    Each tag must return the same ModState instance on every call. Changing its modulus invalidates all existing residues for that tag, as in ACL.

    Modulus

    pub(open) trait Modulus {
    fn modulus() -> Int
    }

    A fixed, positive Int modulus. A tag must always return the same modulus.

    DefaultId

    pub(all) struct DefaultId {
    } derive(
    Debug
    )

    DynamicModInt

    pub struct DynamicModInt[_] {
    // private fields
    }

    Immutable residue in [0, modulus).
    impl Zero for DynamicModInt[M]
    impl Add for DynamicModInt[M]
    impl Div for DynamicModInt[M]
    impl Eq for DynamicModInt[M]
    impl Mul for DynamicModInt[M]
    impl Neg for DynamicModInt[M]
    impl Sub for DynamicModInt[M]

    DynamicModInt::from_int64

    fn[M : DynamicModulus] DynamicModInt::from_int64(value : Int64) -> DynamicModInt[M]

    DynamicModInt::from_uint

    fn[M : DynamicModulus] DynamicModInt::from_uint(value : UInt) -> DynamicModInt[M]

    DynamicModInt::from_uint64

    fn[M : DynamicModulus] DynamicModInt::from_uint64(value : UInt64) -> DynamicModInt[M]

    DynamicModInt::inv

    DynamicModInt::mod

    fn[M : DynamicModulus] DynamicModInt::mod(_self : DynamicModInt[M]) -> Int

    DynamicModInt::new

    fn[M : DynamicModulus] DynamicModInt::new(value : Int) -> DynamicModInt[M]

    DynamicModInt::pow

    fn[M : DynamicModulus] DynamicModInt::pow(self : DynamicModInt[M], n : Int64) -> DynamicModInt[M]

    DynamicModInt::raw

    fn[M : DynamicModulus] DynamicModInt::raw(value : Int) -> DynamicModInt[M]

    No modular reduction; requires 0 <= value < modulus.

    DynamicModInt::val

    fn[M] DynamicModInt::val(self : DynamicModInt[M]) -> Int

    Mod1000000007

    pub(all) struct Mod1000000007 {
    } derive(
    Debug
    )

    Mod998244353

    pub(all) struct Mod998244353 {
    } derive(
    Debug
    )

    ModState

    pub struct ModState {
    // private fields
    } derive(
    Debug
    )

    Independent mutable modulus shared by all values of a dynamic tag.

    ModState::mod

    fn ModState::mod(self : ModState) -> Int

    ModState::new

    fn ModState::new(modulus? : Int) -> ModState

    ModState::set_mod

    fn ModState::set_mod(self : ModState, modulus : Int) -> Unit

    StaticModInt

    pub struct StaticModInt[_] {
    // private fields
    }

    Immutable residue in [0, modulus).
    impl Zero for StaticModInt[M]
    impl Add for StaticModInt[M]
    impl Default for StaticModInt[M]
    impl Div for StaticModInt[M]
    impl Eq for StaticModInt[M]
    impl Mul for StaticModInt[M]
    impl Neg for StaticModInt[M]
    impl Sub for StaticModInt[M]

    StaticModInt::from_int64

    fn[M : Modulus] StaticModInt::from_int64(value : Int64) -> StaticModInt[M]

    StaticModInt::from_uint

    fn[M : Modulus] StaticModInt::from_uint(value : UInt) -> StaticModInt[M]

    StaticModInt::from_uint64

    fn[M : Modulus] StaticModInt::from_uint64(value : UInt64) -> StaticModInt[M]

    StaticModInt::inv

    fn[M : Modulus] StaticModInt::inv(self : StaticModInt[M]) -> StaticModInt[M]

    StaticModInt::mod

    fn[M : Modulus] StaticModInt::mod(_self : StaticModInt[M]) -> Int

    StaticModInt::new

    fn[M : Modulus] StaticModInt::new(value : Int) -> StaticModInt[M]

    StaticModInt::pow

    fn[M : Modulus] StaticModInt::pow(self : StaticModInt[M], n : Int64) -> StaticModInt[M]

    StaticModInt::raw

    fn[M : Modulus] StaticModInt::raw(value : Int) -> StaticModInt[M]

    No modular reduction; requires 0 <= value < modulus.

    StaticModInt::val

    fn[M] StaticModInt::val(self : StaticModInt[M]) -> Int

    set_mod

    fn set_mod(modulus : Int) -> Unit

    Sets the modulus of the default ModInt tag. Custom tags use ModState::set_mod.

    Source Files

    Powered by MoonBit

    Site sourceReport issuePackagesBuild queueSkillsStatistics

    © 2026 mooncakes.io