Sha256: 93a282ff225b25202577834294ff0b48e5cebc26abeea4b5de3715bc9c56840a
Contents?: true
Size: 726 Bytes
Versions: 16
Compression:
Stored size: 726 Bytes
Contents
package rand import ( "crypto/rand" "fmt" "io" "math/big" ) func init() { Reader = rand.Reader } // Reader provides a random reader that can reset during testing. var Reader io.Reader var floatMaxBigInt = big.NewInt(1 << 53) // Float64 returns a float64 read from an io.Reader source. The returned float will be between [0.0, 1.0). func Float64(reader io.Reader) (float64, error) { bi, err := rand.Int(reader, floatMaxBigInt) if err != nil { return 0, fmt.Errorf("failed to read random value, %v", err) } return float64(bi.Int64()) / (1 << 53), nil } // CryptoRandFloat64 returns a random float64 obtained from the crypto rand // source. func CryptoRandFloat64() (float64, error) { return Float64(Reader) }
Version data entries
16 entries across 16 versions & 1 rubygems