Fix and cleanup generator

The generator returns 0 instead of this.base
next() should also not short circuit and return 1 (or this.base + 1) since we're generating floats not ints.