#
d5484bf1 |
| 04-Apr-2023 |
Dmitry Stogov |
Remove includes
|
#
50879319 |
| 06-Mar-2023 |
Tim Düsterhus |
random: Add missing `php.h` include to php_random.h (#10764) `PHPAPI` is defined in `php.h`. It appears that without the explicit include, recent versions of Visual Studio Code’s intelli
random: Add missing `php.h` include to php_random.h (#10764) `PHPAPI` is defined in `php.h`. It appears that without the explicit include, recent versions of Visual Studio Code’s intellisense (rightfully) no longer detect `PHPAPI`. This will then lead to a misparsing of the file, because `PHPAPI` is assumed to be the return type and the actual return type is assumed to be the function name, thus expecting a semicolon after the actual return type. This in turn colors the entire header in red due to the detected syntax error(s), making development very hard / impossible. This did not cause issues outside of the IDE use case, because apparently all users of `php_random.h` include `php.h` before including `php_random.h`.
show more ...
|
#
8abea1b3 |
| 04-Mar-2023 |
Tim Düsterhus |
random: Convert `php_random_(bytes|int)_(silent|throw)` into inline functions (#10763) Compared to macros, inline functions are more robust and easier to debug. Also, use true/false
random: Convert `php_random_(bytes|int)_(silent|throw)` into inline functions (#10763) Compared to macros, inline functions are more robust and easier to debug. Also, use true/false at the same time instead of 1 and 0.
show more ...
|
#
f079aa2e |
| 24-Feb-2023 |
Tim Düsterhus |
random: Fix return type of php_random_(bytes|int) (#10687) These return a `zend_result`, not `int`.
|
#
f9a1a903 |
| 14-Dec-2022 |
Tim Düsterhus |
Add Randomizer::nextFloat() and Randomizer::getFloat() (#9679) * random: Add Randomizer::nextFloat() * random: Check that doubles are IEEE-754 in Randomizer::nextFloat() *
Add Randomizer::nextFloat() and Randomizer::getFloat() (#9679) * random: Add Randomizer::nextFloat() * random: Check that doubles are IEEE-754 in Randomizer::nextFloat() * random: Add Randomizer::nextFloat() tests * random: Add Randomizer::getFloat() implementing the y-section algorithm The algorithm is published in: Drawing Random Floating-Point Numbers from an Interval. Frédéric Goualard, ACM Trans. Model. Comput. Simul., 32:3, 2022. https://doi.org/10.1145/3503512 * random: Implement getFloat_gamma() optimization see https://github.com/php/php-src/pull/9679/files#r994668327 * random: Add Random\IntervalBoundary * random: Split the implementation of γ-section into its own file * random: Add tests for Randomizer::getFloat() * random: Fix γ-section for 32-bit systems * random: Replace check for __STDC_IEC_559__ by compile-time check for DBL_MANT_DIG * random: Drop nextFloat_spacing.phpt * random: Optimize Randomizer::getFloat() implementation * random: Reject non-finite parameters in Randomizer::getFloat() * random: Add NEWS/UPGRADING for Randomizer’s float functionality
show more ...
|
#
ac3ecd03 |
| 09-Dec-2022 |
Joshua Rüsweg |
Add `Randomizer::getBytesFromString()` method (#9664) * Add `Randomizer::getBytesFromAlphabet()` method * Rename `getBytesFromAlphabet` to `getBytesFromString` * [ci skip]
Add `Randomizer::getBytesFromString()` method (#9664) * Add `Randomizer::getBytesFromAlphabet()` method * Rename `getBytesFromAlphabet` to `getBytesFromString` * [ci skip] Add NEWS/UPGRADING for Randomizer::getBytesFromString() Co-authored-by: Tim Düsterhus <tim@bastelstu.be>
show more ...
|
#
1e9280e0 |
| 03-Oct-2022 |
Tim Düsterhus |
[ci skip] Trim trailing whitespace in php_random.h
|
#
28a4d767 |
| 19-Sep-2022 |
Remi Collet |
declare random globals as public API
|
Revision tags: php-8.2.0RC1, php-8.1.10, php-8.0.23, php-8.0.23RC1, php-8.1.10RC1, php-8.2.0beta3 |
|
#
3331832b |
| 02-Aug-2022 |
Tim Düsterhus |
Add ext/random Exception hierarchy (#9220) * Add Random\Random{Error,Exception} and Random\BrokenRandomEngineError * Throw BrokenRandomEngineError * Throw RandomException o
Add ext/random Exception hierarchy (#9220) * Add Random\Random{Error,Exception} and Random\BrokenRandomEngineError * Throw BrokenRandomEngineError * Throw RandomException on seeding failure * Throw RandomException when CSPRNG fails * Remove unused include from ext/random/engine_combinedlcg.c * Remove unused include from ext/random/engine_secure.c * Remove unused include from ext/random/random.c * [ci skip] Add ext/random Exception hierarchy to NEWS * [ci skip] Add the change of Exception for random_(int|bytes) to UPGRADING
show more ...
|
Revision tags: php-8.2.0beta2, php-8.1.9, php-8.0.22 |
|
#
5c693c77 |
| 26-Jul-2022 |
Tim Düsterhus |
Remove `->last_unsafe` from php_random_status (#9132) Whenever ->last_unsafe is set to `true` an exception has been thrown. Thus we can replace the check for `->last_unsafe` with a check
Remove `->last_unsafe` from php_random_status (#9132) Whenever ->last_unsafe is set to `true` an exception has been thrown. Thus we can replace the check for `->last_unsafe` with a check for `EG(exception)` which is a much more natural way to ommunicate an error up the chain.
show more ...
|
#
133b9b08 |
| 22-Jul-2022 |
Go Kudo |
Avoid signed integer overflow in php_random_range() (#9066)
|
#
e4c89498 |
| 21-Jul-2022 |
Go Kudo |
[ci skip] Update EXTENSIONS and Author(s) in ext/random (#9074) php.net account is better suited for this cases.
|
Revision tags: php-8.1.9RC1, php-8.2.0beta1, php-8.0.22RC1 |
|
#
4d8dd8d2 |
| 19-Jul-2022 |
Go Kudo |
Implement Random Extension https://wiki.php.net/rfc/rng_extension https://wiki.php.net/rfc/random_extension_improvement
|