'Get the next random number in the range [0.0, 1.0).'

def random(self):

    (x, y, z) = self._seed
    x = ((171 * x) % 30269)
    y = ((172 * y) % 30307)
    z = ((170 * z) % 30323)
    self._seed = (x, y, z)
    return ((((x / 30269.0) + (y / 30307.0)) + (z / 30323.0)) % 1.0)
