math/rand: improve uniformity of rand.Float64,Float32
math/rand: improve uniformity of rand.Float64,Float32

Replaced code that substituted 0 for rounded-up 1 with
code to try again.  This has minimal effect on the existing
stream of random numbers, but restores uniformity.

Fixes #12290.

Change-Id: Ib68f0b0a4a173339bcd0274cc16509f7b0977de8
Reviewed-on: https://go-review.googlesource.com/17670
Reviewed-by: Russ Cox <5ad239cb8a44f659eaaee0aa1ea5b94947abe557@golang.org>
Run-TryBot: David Chase <ae171625adc8645b8b79b7e405a6da5aba5341e0@google.com>
TryBot-Result: Gobot Gobot <66cb808b70d30c07676d5e946fee83fd561249e5@golang.org>

mwhudson/go,4ad/go,theif519/go,cyberroadie/go,goodlang/good,vanloswang/go,ganboing/go-esx,derekmarcotte/go,Samurais/go,goodlang/good,momchil-velikov/go,theif519/go,sndnvaps/go,golang/go,ImJasonH/go,theif519/go,roth1002/go,deft-code/go,suncycheng/go,cyberroadie/go,suncycheng/go,vanloswang/go,4ad/go,codestation/go,deft-code/go,momchil-velikov/go,momchil-velikov/go,vsekhar/elastic-go,vsekhar/elastic-go,Cofyc/go,cloudflare/go,sndnvaps/go,derekmarcotte/go,deft-code/go,josharian/go,CAFxX/go,miolini/go,cloudflare/go,suncycheng/go,Samurais/go,cyberroadie/go,linux-on-ibm-z/go,binarycrusader/go,akutz/go,ImJasonH/go,ganboing/go-esx,josharian/go,binarycrusader/go,ganboing/go-esx,cloudflare/go,linux-on-ibm-z/go,goodlang/good,ImJasonH/go,golang/go,vsekhar/elastic-go,sndnvaps/go,cyberroadie/go,kim-racktop/go,goodlang/good,ImJasonH/go,suncycheng/go,Cofyc/go,Endika/go,miolini/go,linux-on-ibm-z/go,binarycrusader/go,ganboing/go-esx,CAFxX/go,binarycrusader/go,roth1002/go,cloudflare/go,CAFxX/go,Cofyc/go,miolini/go,Cofyc/go,Samurais/go,polyverse-security/go,kim-racktop/go,golang/go,nawawi/go,ImJasonH/go,josharian/go,josharian/go,vanloswang/go,CAFxX/go,mwhudson/go,vsekhar/elastic-go,roth1002/go,CAFxX/go,goodlang/good,kim-racktop/go,4ad/go,vanloswang/go,mwhudson/go,polyverse-security/go,CAFxX/go,golang/go,roth1002/go,theif519/go,cyberroadie/go,roth1002/go,derekmarcotte/go,polyverse-security/go,momchil-velikov/go,golang/go,akutz/go,josharian/go,theif519/go,Samurais/go,nawawi/go,Endika/go,mwhudson/go,codestation/go,Samurais/go,mwhudson/go,miolini/go,roth1002/go,mwhudson/go,momchil-velikov/go,codestation/go,Cofyc/go,derekmarcotte/go,mwhudson/go,cyberroadie/go,sndnvaps/go,polyverse-security/go,ganboing/go-esx,sndnvaps/go,cloudflare/go,kim-racktop/go,vsekhar/elastic-go,Cofyc/go,CAFxX/go,josharian/go,akutz/go,ganboing/go-esx,polyverse-security/go,Endika/go,momchil-velikov/go,Endika/go,linux-on-ibm-z/go,codestation/go,kim-racktop/go,vanloswang/go,codestation/go,Endika/go,ImJasonH/go,akutz/go,4ad/go,suncycheng/go,akutz/go,binarycrusader/go,theif519/go,cloudflare/go,mwhudson/go,miolini/go,goodlang/good,nawawi/go,codestation/go,CAFxX/go,cloudflare/go,goodlang/good,codestation/go,nawawi/go,vanloswang/go,sndnvaps/go,4ad/go,linux-on-ibm-z/go,derekmarcotte/go,ganboing/go-esx,akutz/go,vanloswang/go,kim-racktop/go,polyverse-security/go,ganboing/go-esx,sndnvaps/go,Cofyc/go,cyberroadie/go,deft-code/go,nawawi/go,nawawi/go,akutz/go,derekmarcotte/go,suncycheng/go,goodlang/good,ImJasonH/go,cyberroadie/go,derekmarcotte/go,golang/go,nawawi/go,golang/go,linux-on-ibm-z/go,cloudflare/go,derekmarcotte/go,Samurais/go,miolini/go,codestation/go,deft-code/go,binarycrusader/go,deft-code/go,akutz/go,sndnvaps/go,polyverse-security/go,suncycheng/go,4ad/go,deft-code/go,Cofyc/go,nawawi/go,roth1002/go,vsekhar/elastic-go,Endika/go,golang/go,binarycrusader/go,Endika/go,josharian/go,ImJasonH/go,kim-racktop/go,Samurais/go,josharian/go,theif519/go,deft-code/go,theif519/go,roth1002/go,momchil-velikov/go,linux-on-ibm-z/go,Samurais/go,vanloswang/go,vsekhar/elastic-go,kim-racktop/go,4ad/go,Endika/go,4ad/go,polyverse-security/go,vsekhar/elastic-go,miolini/go,binarycrusader/go,suncycheng/go,christopher-henderson/Go,linux-on-ibm-z/go,miolini/go,momchil-velikov/go