| :- dynamic seed/1. | |
| /* VAX C-Prolog Benchmark Package */ | |
| /* Copyright 1985 by Tektronix, Inc., and Portland State University */ | |
| make_list(0,[]) :- !. | |
| make_list(N,[X|L]) :- | |
| rnd(100,X), | |
| N1 is N-1, | |
| make_list(N1,L). | |
| seed(13). | |
| rnd(R,N) :- | |
| retract(seed(S)), N is (S mod R) + 1, | |
| Newseed is (125*S+1) mod 4096, | |
| asserta(seed(Newseed)), !. |