implement Rand; include "rand.m"; rsalt: big; init(seed: int) { rsalt = big seed; } rand(modulus: int): int { rsalt = rsalt * big 1103515245 + big 12345; if (modulus<=0) return 0; return int (((rsalt&big 16r7FFFFFFFFFFFFFFF)>>10) % big modulus); } bigrand(modulus: big): big { rsalt = rsalt * big 1103515245 + big 12345; if (modulus<=big 0) return big 0; return ((rsalt&big 16r7FFFFFFFFFFFFFFF)>>10) % modulus; }