public Sample <List <double> > NextSequence() { ++_sequenceCounter; for (int i = 0; i < _dimensionality; ++i) { var h = 0.0; var b = PrimeNumber.Get(i); var f = 1.0; var 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); }