public Sample <List <double> > nextSequence() { ++sequenceCounter_; ulong b, k; double f, h; for (int i = 0; i < dimensionality_; ++i) { h = 0.0; b = PrimeNumbers.get(i); f = 1.0; k = sequenceCounter_ + randomStart_[i]; while (k != 0) { f /= b; h += (k % b) * f; k /= b; } sequence_.value[i] = h + randomShift_[i]; sequence_.value[i] -= (long)(sequence_.value[i]); } return(sequence_); }