rabin.m 479 B

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