31 lines
707 B
Text
31 lines
707 B
Text
$ include "seed7_05.s7i";
|
|
include "bigint.s7i";
|
|
|
|
var bigInteger: bsdSeed is 0_;
|
|
var bigInteger: msSeed is 0_;
|
|
|
|
const func integer: bsdRand is func
|
|
result
|
|
var integer: bsdRand is 0;
|
|
begin
|
|
bsdSeed := (1103515245_ * bsdSeed + 12345_) mod 2147483648_;
|
|
bsdRand := ord(bsdSeed);
|
|
end func;
|
|
|
|
const func integer: msRand is func
|
|
result
|
|
var integer: msRand is 0;
|
|
begin
|
|
msSeed := (214013_ * msSeed + 2531011_) mod 2147483648_;
|
|
msRand := ord(msSeed) mdiv 65536;
|
|
end func;
|
|
|
|
const proc: main is func
|
|
local
|
|
var integer: i is 0;
|
|
begin
|
|
writeln(" BSD MS");
|
|
for i range 1 to 10 do
|
|
writeln(bsdRand lpad 12 <& msRand lpad 12);
|
|
end for;
|
|
end func;
|