Module Pari.Integer_mod

type t = (integer_mod, ring) typ
val inj_group : t -> (integer_mod, group) typ
val create : Integer.t -> modulo:Integer.t -> t
val create_assume_prime_modulus : Integer.t -> modulo:Integer.t -> (integer_mod, field) typ
val lift : (integer_mod, _) typ -> Integer.t
val inverse : (integer_mod, 'a) typ -> (integer_mod, 'a) typ option
val mul : (integer_mod, 'a) typ -> (integer_mod, 'a) typ -> (integer_mod, 'a) typ
val pow : (integer_mod, 'a) typ -> Integer.t -> (integer_mod, 'a) typ
val chinese : (t, [ `ROW ]) Vector.t -> t
val to_string : (integer_mod, _) typ -> string
val get_modulo : (integer_mod, _) typ -> Integer.t
val order : (integer_mod, _) typ -> Integer.t
val log : base:(integer_mod, _) typ -> (integer_mod, _) typ -> Integer.t option