Hi
On 6/22/22 16:35, Go Kudo wrote:
No additional comments seemed to be forthcoming, so the RFC was upgraded to
1.5.
The following changes have been made
https://wiki.php.net/rfc/random_extension_improvement
1. Add: `Refine classnames`
2. Add: `Random\SerializableEngine is outdated`
3. Add `Add Randomizer::pickArrayKeys(array $array, int $num): array
method` *1
4. Add `Random\SerializableEngine is outdated`
5. Remove: `PCG64 is ambiguous` (replaced by 1)
6. Remove: `Mersenne Twister is ambiguous` (replaced by 1)
7. Remove: `Randomizer lacks array_rand() replacement method` (replaced by
3)
*1: Added with a little sample code.
Thank you for the update. The grouping makes sense to me and it looks
very organized.
Let me just propose some wording changes:
a)
> Random\SerializableEngine is outdated
I would rename the headline to "Random\SerializableEngine is not
useful", that's a little more fitting.
b)
> CombinedLCG is outdated
I would rename the headline to "Random\Engine\CombinedLCG is low
quality", that's a little more accurate.
c)
In the "Refine classnames" section:
> To make it more readable and regular, the class name is changed as
follows:
I would reword this as:
To clearly identify the implemented algorithm the PCG64 and
MersenneTwister twister engines should be renamed to their canonical
upstream name:
The issue with the previous wording is it's not clear what "more
regular" means.
d)
For the vote titles I propose the following changes for a more
consistent wording that succinctly describes the change to avoid voter
confusion:
Engine implementations to final
to
Make all implemented engines 'final'?
Remove Random\SerializableEngine
to
Remove the SerializableEngine interface?
Drop Random\Engine\CombinedLCG
to
Remove the CombinedLCG engine?
Add Random\Randomizer::pickArrayKeys(array $array, int $num): array
to
Add the pickArrayKeys() method to the Randomizer?
Rename Random\Randomizer::shuffleString() to
Random\Randomizer::shuffleBytes()
to
Rename Randomizer::shuffleString() to Randomizer::shuffleBytes()?
Change classnames
to
Rename PCG64 and MersenneTwister?
Implement Random\Engine\Xoshiro256StarStar
to
Add the Xoshiro256StarStar engine?
Best regards
Tim Düsterhus
--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: https://www.php.net/unsub.php