srecord noeq CheckLSFRTriplet(int bits, int[] triplet) { settable bool verbose; TripletLSFR lsfr; int steps; bool get() { lsfr = new TripletLSFR(bits, triplet[0], triplet[1], triplet[2]); int cycleLength = (1 << bits)-1; assertEquals(cycleLength, lsfr.cycleLength()); new BitSet bs; for (steps = 0; steps < cycleLength; steps++) { int i = lsfr.next(); if (verbose) print(+i); if (i < 1 || i > cycleLength) false; if (bs.get(i)) false; bs.set(i); } true; } }