code: def _sampleRange(rng, start, end, step, k):
    
    array = numpy.empty(k, dtype="uint32")
    rng.sample(numpy.arange(start, end, step, dtype="uint32"), array)
    return array
docs: Equivalent to:
  
    random.sample(xrange(start, end, step), k)
  
    except it uses our random number generator.
  
    This wouldn't need to create the arange if it were implemented in C.