_content/blog/randv2.md: minor fixes

Change-Id: I49bad5dc6816241357546d68274acb1ea0fa8391
GitHub-Last-Rev: 27b48c2c47
GitHub-Pull-Request: golang/website#294
Reviewed-on: https://go-review.googlesource.com/c/website/+/601495
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
Reviewed-by: Ian Lance Taylor <iant@google.com>
Auto-Submit: Ian Lance Taylor <iant@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
This commit is contained in:
Will Faught 2024-07-26 23:24:32 +00:00 коммит произвёл Gopher Robot
Родитель cb8315ecdb
Коммит 70d824f6fb
1 изменённых файлов: 3 добавлений и 3 удалений

Просмотреть файл

@ -217,7 +217,7 @@ in programs without concurrent use of `math/rand`.
### The `Rand` implementation was missing important optimizations {#problem.rand} ### The `Rand` implementation was missing important optimizations {#problem.rand}
The [`rand.Rand` type](/pkg/math/rand/#Rand) wraps a `Source` The [`rand.Rand` type](/pkg/math/rand/#Rand) wraps a `Source`
to implement a richer set of operations to implement a richer set of operations.
For example, here is the Go 1 implementation of `Int63n`, which returns For example, here is the Go 1 implementation of `Int63n`, which returns
a random integer in the range [0, `n`). a random integer in the range [0, `n`).
@ -243,7 +243,7 @@ than others. (As a simpler example, try converting 4 equally likely values into
The code computes `max` such that The code computes `max` such that
`max+1` is the largest multiple of `n` less than or equal to 2⁶³, `max+1` is the largest multiple of `n` less than or equal to 2⁶³,
and then the loop rejects random values greater than or equal to `max+1`. and then the loop rejects random values greater than or equal to `max+1`.
Rejecting this too-large values ensures that all `n` outputs are equally likely. Rejecting these too-large values ensures that all `n` outputs are equally likely.
For small `n`, needing to reject any value at all is rare; For small `n`, needing to reject any value at all is rare;
rejection becomes more common and more important for larger values. rejection becomes more common and more important for larger values.
Even without the rejection loop, the two (slow) modulus operations Even without the rejection loop, the two (slow) modulus operations
@ -276,7 +276,7 @@ along with [adding a top-level `Read` function](/pkg/math/rand/#Read).
This seemed reasonable at the time, This seemed reasonable at the time,
but in retrospect we did not pay enough attention to the but in retrospect we did not pay enough attention to the
software engineering aspects of this change. software engineering aspects of this change.
Now if you want to read random data, now you have Now, if you want to read random data, you have
two choices: `math/rand.Read` and `crypto/rand.Read`. two choices: `math/rand.Read` and `crypto/rand.Read`.
If the data is going to be used for key material, If the data is going to be used for key material,
it is very important to use `crypto/rand`, it is very important to use `crypto/rand`,