srecord noeq CheckLSFRTriplet(int bits, int[] triplet) { settable bool verbose; event tripletFound(int[] triplet); TripletLSFR lsfr; int n; 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 (n = 0; n < cycleLength; n++) { int i = lsfr.next(); if (verbose) print(+i); assertBetween(1, cycleLength, i); if (bs.get(i)) false; bs.set(i); } true; } }