import ; main(args(2)) := let bsdRandomGenerator := newRandomGenerator(0, 0, 2147483647, bsdNext); msRandomGenerator := newRandomGenerator(0, 0, 32767, msNext); // Create a random sequence with each one of the generators numbers := getRandomSequence([bsdRandomGenerator, msRandomGenerator], 10).Value; in "BSD Values: " ++ toString(numbers[1]) ++ "\nMS Values: " ++ toString(numbers[2]); bsdNext(RG) := let newSeed := ((1103515245 -> int64 * RG.Seed + 12345) mod 2147483648) -> int32; in (Value : newSeed, Generator : (Seed : newSeed, RandomMin : RG.RandomMin, RandomMax : RG.RandomMax, NextFunction : RG.NextFunction)); msNext(RG) := let newSeed := ((214013 -> int64 * RG.Seed + 2531011) mod 2147483648) -> int32; in (Value : newSeed / 65536, Generator : (Seed : newSeed, RandomMin : RG.RandomMin, RandomMax : RG.RandomMax, NextFunction : RG.NextFunction));