Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package test;
- import java.math.BigInteger;
- import edu.tfzr.nemanja.Congruence;
- public class Generators {
- public Congruence cong[] = new Congruence[8]; //linear congruence RNGs
- //svih 8
- public Generators(String seed) {
- cong[0] = new Congruence("65539", "2147483648", seed); //m=2*31
- cong[1] = new Congruence("16807", "2147483647", seed); //m=2*31-1
- cong[2] = new Congruence("40692", "2147483399", seed); //m=2*31-249
- cong[3] = new Congruence("48271", "2147483647", seed); //m=2*31-1
- cong[4] = new Congruence("62089911", "2147483647", seed); //m=2*31-1
- cong[5] = new Congruence("69069", "4294967296", seed); //m=2*32
- cong[6] = new Congruence("31167285", "281474976710656", seed); //m=2*48
- cong[7] = new Congruence("6364136223846793005", "18446744073709551616", seed); //m=2*64
- cong[0].count=cong.length;
- }
- //sledeca vrednost
- public BigInteger nextValue(int i) {
- return cong[i].nextValue();
- }
- //vraca double
- public double doubleValue(int i) {
- return cong[i].doubleValue();
- }
- public static void main(String[] args) {
- int iCong = 7;
- String seed = "39485389";
- Generators gen = new Generators(seed);
- //gen cong[1].count=90
- System.out.println(gen.cong[5].count + " Generator: " + iCong +", multiplier: " + gen.cong[5].multiplier + ", modulus: " + gen.cong[5].modulus+", seed:" +gen.cong[5].seed);
- for(int i=0; i<3; i++) {
- BigInteger x = gen.nextValue(i);
- System.out.println(x + "\t" + gen.doubleValue(iCong));
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement