From d66d43d2eaa5d2611ed1e2814b1df7bf01df705a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20Corbi=C3=A8re?= Date: Tue, 3 Apr 2018 16:23:36 +0200 Subject: [PATCH] Add Int31n() and RandInt31n(). --- common/random.go | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/common/random.go b/common/random.go index b767e358..5653142e 100644 --- a/common/random.go +++ b/common/random.go @@ -93,6 +93,10 @@ func RandInt31() int32 { return grand.Int31() } +func RandInt31n(n int32) int32 { + return grand.Int31n(n) +} + func RandInt63() int64 { return grand.Int63() } @@ -224,6 +228,14 @@ func (r *Rand) Int31() int32 { return i31 } +// It is not safe for cryptographic usage. +func (r *Rand) Int31n(n int32) int32 { + r.Lock() + i31n := r.rand.Int31n(n) + r.Unlock() + return i31n +} + // It is not safe for cryptographic usage. func (r *Rand) Int63() int64 { r.Lock()