$ 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;