blob: ba613fab503a9e693061917b91974f044dfab387 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
Rabin: module
{
PATH: con "/dis/lib/rabin.dis";
init: fn(bufio: Bufio);
debug: int;
open: fn(rcfg: ref Rcfg, b: ref Iobuf, min, max: int): (ref Rfile, string);
Rcfg: adt {
prime, width, mod: int;
tab: array of int;
mk: fn(prime, width, mod: int): (ref Rcfg, string);
};
Rfile: adt {
b: ref Iobuf;
rcfg: ref Rcfg;
min, max: int;
buf: array of byte;
n: int;
state: int;
off: big;
read: fn(r: self ref Rfile): (array of byte, big, string);
};
};
|