Warning: session_start(): open(/var/lib/php/sessions/sess_evcqcjb29fn1uqdd7bues74taj, O_RDWR) failed: No space left on device (28) in /var/www/tb-usercake/models/config.php on line 51
Warning: session_start(): Failed to read session data: files (path: /var/lib/php/sessions) in /var/www/tb-usercake/models/config.php on line 51
// Deterministic shuffled list iterator using an XORSHIFT RNG
// Each step is O(1), iterator is OSPACE(1)
sclass WeightlessShuffledIterator extends ItIt {
final L list;
final int n;
int i;
TripletLSFR lsfr;
*(L *list) {
n = l(list);
if (n == 0) ret;
int bits = numberOfBitsNeededToRepresentNOptions(n);
lsfr = new TripletLSFR(bits);
}
public bool hasNext() { ret i < n; }
public A next() {
int raw;
do
raw = lsfr.next()-1;
while (raw >= n);
ret list.get(raw);
};
}