1
exception Bug of string
2
exception LayoutMismatch
3
val riter : f:(int -> 'a) -> int -> int -> unit
4
val rfind : f:(int -> bool) -> int -> int -> int
7
type t = { columns : int; rows : int; array : ZZp.zz array; }
10
val dims : t -> int * int
12
val make : columns:int -> rows:int -> ZZp.zz -> t
13
val init : columns:int -> rows:int -> f:(int -> int -> ZZp.zz) -> t
14
val get : t -> int -> int -> ZZp.zz
15
val set : t -> int -> int -> ZZp.zz -> unit
16
val scmult_ip : t -> ZZp.zz -> unit
17
val scmult : t -> ZZp.zz -> t
18
val scmult_row : t -> int -> ZZp.zz -> unit
19
val swap_rows : t -> int -> int -> unit
20
val add_ip : t -> t -> unit
23
t -> t -> i:int -> pos1:int -> pos2:int -> ZZp.zz -> ZZp.zz
24
val idot : t -> t -> int -> int -> ZZp.zz
25
val mult : t -> t -> t
26
val transpose : t -> t
27
val rowadd : t -> src:int -> dst:int -> scmult:ZZp.zz -> unit
28
val rowsub : t -> src:int -> dst:int -> scmult:ZZp.zz -> unit
33
type t = { columns : int; rows : int; array : ZZp.zzref array; }
34
val columns : t -> int
36
val dims : t -> int * int
38
val init : columns:int -> rows:int -> f:(int -> int -> ZZp.zz) -> t
39
val make : columns:int -> rows:int -> ZZp.zz -> t
40
val lget : t -> int -> int -> ZZp.zz
41
val rget : t -> int -> int -> ZZp.zzref
42
val get : t -> int -> int -> ZZp.zz
43
val set : t -> int -> int -> ZZp.zz -> unit
44
val scmult_row : ?scol:int -> t -> int -> ZZp.zz -> unit
45
val swap_rows : t -> int -> int -> unit
46
val transpose : t -> t
48
?scol:int -> t -> src:int -> dst:int -> scmult:ZZp.zz -> unit
51
val process_row : Matrix.t -> int -> unit
52
val process_row_forward : Matrix.t -> int -> unit
53
val backsubstitute : Matrix.t -> int -> unit
54
val greduce : Matrix.t -> unit
55
val reduce : Matrix.t -> unit