#
db545767 |
| 10-Sep-2024 |
DanielEScherzer |
Rename `ZEND_STR_DEPRECATED` to `ZEND_STR_DEPRECATED_CAPITALIZED` (#15831) To match other capitalized strings like `ZEND_STR_UNKNOWN_CAPITALIZED` and `ZEND_STR_ARRAY_CAPITALIZED`. Since
Rename `ZEND_STR_DEPRECATED` to `ZEND_STR_DEPRECATED_CAPITALIZED` (#15831) To match other capitalized strings like `ZEND_STR_UNKNOWN_CAPITALIZED` and `ZEND_STR_ARRAY_CAPITALIZED`. Since this known string was only added in PHP 8.4, no backwards compatibility alias is needed.
show more ...
|
#
53cb8967 |
| 03-Sep-2024 |
DanielEScherzer |
Generated arginfo header files: remove empty zend_function_entry arrays (#15705) When a class (or enum) has no methods, rather than using an array that only contains `ZEND_FE_END`, use `
Generated arginfo header files: remove empty zend_function_entry arrays (#15705) When a class (or enum) has no methods, rather than using an array that only contains `ZEND_FE_END`, use `NULL` for the functions. The implementation of class registration for internal classes, `do_register_internal_class()` in zend_API.c, already skips classes where the functions are `NULL`. By removing these unneeded arrays, we can reduce the size of the header files, while also removing an unneeded call to zend_register_functions() for each internal class with no extra methods.
show more ...
|
#
8d12f666 |
| 24-Aug-2024 |
Máté Kocsis |
Fix registration of internal readonly child classes (#15459) Currently, internal classes are registered with the following code: INIT_CLASS_ENTRY(ce, "InternalClass", class_Internal
Fix registration of internal readonly child classes (#15459) Currently, internal classes are registered with the following code: INIT_CLASS_ENTRY(ce, "InternalClass", class_InternalClass_methods); class_entry = zend_register_internal_class_ex(&ce, NULL); class_entry->ce_flags |= ...; This has worked well so far, except if InternalClass is readonly. It is because some inheritance checks are run by zend_register_internal_class_ex before ZEND_ACC_READONLY_CLASS is added to ce_flags. The issue is fixed by adding a zend_register_internal_class_with_flags() zend API function that stubs can use from now on. This function makes sure to add the flags before running any checks. Since the new API is not available in lower PHP versions, gen_stub.php has to keep support for the existing API for PHP 8.3 and below.
show more ...
|
#
f5f92941 |
| 04-Aug-2024 |
Tim Düsterhus |
random: Deprecate `lcg_value()` (#15211) RFC: https://wiki.php.net/rfc/deprecations_php_8_4
|
#
f2e199e8 |
| 25-Feb-2024 |
Máté Kocsis |
Implement "support doc comments for internal classes and functions" (#13266) Fixes #13130
|
#
10957e49 |
| 18-Feb-2024 |
Máté Kocsis |
Do not generate frameless info items when func info generation is disabled While here, I fixed newlines around arginfo and function entry generation. Previously, newlines were repeated.
|
#
61251093 |
| 07-Jul-2023 |
Tim Düsterhus |
Deprecate MT_RAND_PHP (#11560) see https://wiki.php.net/rfc/deprecations_php_8_3#mt_rand_php
|
#
3906bccc |
| 27-Jun-2023 |
Máté Kocsis |
Add support for typed class constants in stubs
|
#
1f05d6ef |
| 20-Jan-2023 |
Máté Kocsis |
Fix GH-10292 make the default value of the first parame of srand() and mt_srand() nullable (#10380) Co-authored-by: Tim Düsterhus <timwolla@googlemail.com>
|
#
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 ...
|
Revision tags: php-8.2.0RC1, php-8.1.10, php-8.0.23 |
|
#
b4ec3e9b |
| 28-Aug-2022 |
Máté Kocsis |
Do not generate CONST_CS when registering constants (#9439) |
Revision tags: 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 ...
|
#
db84e446 |
| 02-Aug-2022 |
Tim Düsterhus |
Fix PcgOneseq128XslRr64::__construct() definition in random.stub.php (#9235) * Fix PcgOneseq128XslRr64::__construct() definition in random.stub.php The second parameter does not act
Fix PcgOneseq128XslRr64::__construct() definition in random.stub.php (#9235) * Fix PcgOneseq128XslRr64::__construct() definition in random.stub.php The second parameter does not actually exist for a Oneseq PCG. It was removed from the RFC before it went into voting. * [ci skip] Add PcgOneseq128XslRr64 stub fix to NEWS
show more ...
|
Revision tags: php-8.2.0beta2, php-8.1.9, php-8.0.22 |
|
#
4e92c746 |
| 30-Jul-2022 |
zeriyoshi |
random: split Randomizer::getInt() without argument to Randomizer::nextInt() Since argument overloading is not safe for reflection, the method needed to be split appropriately.
random: split Randomizer::getInt() without argument to Randomizer::nextInt() Since argument overloading is not safe for reflection, the method needed to be split appropriately. Co-authored-by: Tim Düsterhus <timwolla@googlemail.com> Closes GH-9057.
show more ...
|
#
98be3977 |
| 23-Jul-2022 |
Máté Kocsis |
Declare ext/random constants in stubs (#9109) |
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 |