This is only used with `byte(math.Floor(r.Float64() * 31))` and `byte(math.Floor(r.Float64() * 31) + 64)` below, right?
Why do a float conversion at all?
`return byte(uint64(r.seed1) * 31 / myRndMaxVal)` should do the trick, right? so there's only the +64 case and the regular case. Screams for a different function name, but this is not a Float64 representation anyway, it "iterates". This is from the top of my head, a test probably wouldn't hurt - but a one time test is enough.