#
cad0e555 |
| 03-May-2024 |
Niels Dossche <7771979+nielsdos@users.noreply.github.com> |
Faster validation logic in bc_str2num() (#14115) Using SIMD to accelerate the validation. Using the benchmark from #14076. After: ``` 1.3504369258881 1.62063217
Faster validation logic in bc_str2num() (#14115) Using SIMD to accelerate the validation. Using the benchmark from #14076. After: ``` 1.3504369258881 1.6206321716309 1.6845638751984 ``` Before: ``` 1.4750170707703 1.9039781093597 1.9632289409637 ```
show more ...
|
#
039344cf |
| 01-May-2024 |
Niels Dossche <7771979+nielsdos@users.noreply.github.com> |
Avoid extra inits while flooring or ceiling
|
#
34b2116e |
| 01-May-2024 |
Niels Dossche <7771979+nielsdos@users.noreply.github.com> |
Avoid unnecessary destruction in bc_mul()
|
#
0cd952d8 |
| 01-May-2024 |
Niels Dossche <7771979+nielsdos@users.noreply.github.com> |
Avoid unnecessary destruction in bc_sub()
|
#
959e1154 |
| 01-May-2024 |
Niels Dossche <7771979+nielsdos@users.noreply.github.com> |
Avoid unnecessary destruction in bc_add()
|
#
be072d7b |
| 01-May-2024 |
Niels Dossche <7771979+nielsdos@users.noreply.github.com> |
Use RETVAL_NEW_STR The strings are always new, not interned.
|
#
a66439ad |
| 01-May-2024 |
Niels Dossche <7771979+nielsdos@users.noreply.github.com> |
Avoid unnecessary number initializations in BCMath (#14104) Since freeing can deal with NULL, we can avoid calling bc_init_num and avoid resetting the number during parsing. Usi
Avoid unnecessary number initializations in BCMath (#14104) Since freeing can deal with NULL, we can avoid calling bc_init_num and avoid resetting the number during parsing. Using benchmark from #14076. Before: ``` 1.544440984726 2.0288550853729 2.092139005661 ``` After: ``` 1.5324399471283 1.9081380367279 2.065819978714 ```
show more ...
|
#
a481556d |
| 29-Apr-2024 |
Saki Takamachi |
Refactor BCMath (#14076) Optimized the order of structure members and the process of converting strings to bc_num structures. closes #14076
|
#
53593927 |
| 30-Apr-2024 |
Saki Takamachi <34942839+SakiTakamachi@users.noreply.github.com> |
[RFC] Add bcfloor, bcceil and bcround to BCMath (#13096) Implementation for the "Adding bcround, bcfloor and bcceil to BCMath" RFC: https://wiki.php.net/rfc/adding_bcround_bcfloor_bcceil_to_
[RFC] Add bcfloor, bcceil and bcround to BCMath (#13096) Implementation for the "Adding bcround, bcfloor and bcceil to BCMath" RFC: https://wiki.php.net/rfc/adding_bcround_bcfloor_bcceil_to_bcmath * Separated round mode into separate header file Co-authored-by: Gina Peter Banyard <girgias@php.net>
show more ...
|
#
68247c02 |
| 24-Jul-2023 |
George Peter Banyard |
Refactor BCMath bundledlib and extension (#10774) * ext/bcmath: coding style: use indentation And add braces to block statements, as the current code was pretty much unreadable with
Refactor BCMath bundledlib and extension (#10774) * ext/bcmath: coding style: use indentation And add braces to block statements, as the current code was pretty much unreadable with how inconsistent it was. * ext/bcmath: Remove some useless header inclusions * ext/bcmath: Use standard C99 bool type instead of char * ext/bcmath: Include specific headers instead of config.h * Restructure definitions to reduce header inclusions * Use size_t as a more appropriate type * Remove unused variable full_scale * Refactor bc_raisemod() to get rid of Zend dependencies This separates the concerns of throwing exceptions back into the PHP_FUNCTION instead of being the responsibility of the library * Refactor bc_raise() to get rid of Zend dependencies This separates the concerns of throwing exceptions back into the PHP_FUNCTION instead of being the responsibility of the library * Refactor bc_divmod() and bc_modulo() to return bool Return false on division by 0 attempt instead of -1 and true on success instead of 0 * Refactor bc_divide() to return bool Return false on division by 0 attempt instead of -1 and true on success instead of 0
show more ...
|
#
9d5f2f13 |
| 20-Mar-2023 |
Ilija Tovilo |
Use new ZSTR_INIT_LITERAL macro (#10879)
|
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, php-8.2.0beta2, php-8.1.9, php-8.0.22, php-8.1.9RC1, php-8.2.0beta1, php-8.0.22RC1, php-8.0.21, php-8.1.8, php-8.2.0alpha3, php-8.1.8RC1, php-8.2.0alpha2, php-8.0.21RC1 |
|
#
efc8f0eb |
| 17-Jun-2022 |
Arnaud Le Blanc |
Deprecate zend_atol() / add zend_ini_parse_quantity() (#7951) Add zend_ini_parse_quantity() and deprecate zend_atol(), zend_atoi() zend_atol() and zend_atoi() don't just do number p
Deprecate zend_atol() / add zend_ini_parse_quantity() (#7951) Add zend_ini_parse_quantity() and deprecate zend_atol(), zend_atoi() zend_atol() and zend_atoi() don't just do number parsing. They also check for a 'K', 'M', or 'G' at the end of the string, and multiply the parsed value out accordingly. Unfortunately, they ignore any other non-numerics between the numeric component and the last character in the string. This means that numbers such as the following are both valid and non-intuitive in their final output. * "123KMG" is interpreted as "123G" -> 132070244352 * "123G " is interpreted as "123 " -> 123 * "123GB" is interpreted as "123B" -> 123 * "123 I like tacos." is also interpreted as "123." -> 123 Currently, in php-src these functions are used only for parsing ini values. In this change we deprecate zend_atol(), zend_atoi(), and introduce a new function with the same behavior, but with the ability to report invalid inputs to the caller. The function's name also makes the behavior less unexpected: zend_ini_parse_quantity(). Co-authored-by: Sara Golemon <pollita@php.net>
show more ...
|
Revision tags: php-8.0.20, php-8.1.7, php-8.2.0alpha1, php-7.4.30, php-8.1.7RC1, php-8.0.20RC1, php-8.1.6, php-8.0.19, php-8.1.6RC1, php-8.0.19RC1, php-8.0.18, php-8.1.5, php-7.4.29, php-8.1.5RC1, php-8.0.18RC1, php-8.1.4, php-8.0.17, php-8.1.4RC1, php-8.0.17RC1, php-8.1.3, php-8.0.16, php-7.4.28, php-8.1.3RC1, php-8.0.16RC1, php-8.1.2, php-8.0.15, php-8.1.2RC1, php-8.0.15RC1, php-8.0.14, php-8.1.1, php-7.4.27, php-8.1.1RC1, php-8.0.14RC1, php-7.4.27RC1, php-8.1.0, php-8.0.13, php-7.4.26, php-7.3.33, php-8.1.0RC6, php-7.4.26RC1, php-8.0.13RC1, php-8.1.0RC5, php-7.3.32, php-7.4.25, php-8.0.12, php-8.1.0RC4, php-8.0.12RC1, php-7.4.25RC1, php-8.1.0RC3, php-8.0.11, php-7.4.24, php-7.3.31, php-8.1.0RC2, php-7.4.24RC1, php-8.0.11RC1, php-8.1.0RC1, php-7.4.23, php-8.0.10, php-7.3.30, php-8.1.0beta3, php-8.0.10RC1, php-7.4.23RC1, php-8.1.0beta2, php-8.0.9, php-7.4.22, php-8.1.0beta1, php-7.4.22RC1, php-8.0.9RC1, php-8.1.0alpha3, php-7.4.21, php-7.3.29, php-8.0.8, php-8.1.0alpha2, php-7.4.21RC1, php-8.0.8RC1, php-8.1.0alpha1, php-8.0.7, php-7.4.20, php-8.0.7RC1, php-7.4.20RC1 |
|
#
01b3fc03 |
| 06-May-2021 |
KsaR |
Update http->https in license (#6945) 1. Update: http://www.php.net/license/3_01.txt to https, as there is anyway server header "Location:" to https. 2. Update few license 3.0 to 3.01 as
Update http->https in license (#6945) 1. Update: http://www.php.net/license/3_01.txt to https, as there is anyway server header "Location:" to https. 2. Update few license 3.0 to 3.01 as 3.0 states "php 5.1.1, 4.1.1, and earlier". 3. In some license comments is "at through the world-wide-web" while most is without "at", so deleted. 4. fixed indentation in some files before |
show more ...
|
Revision tags: php-8.0.6, php-7.4.19, php-7.4.18, php-7.3.28, php-8.0.5, php-8.0.5RC1, php-7.4.18RC1, php-8.0.4RC1, php-7.4.17RC1, php-8.0.3, php-7.4.16, php-8.0.3RC1, php-7.4.16RC1, php-8.0.2, php-7.4.15, php-7.3.27, php-8.0.2RC1, php-7.4.15RC2, php-7.4.15RC1 |
|
#
3e01f5af |
| 15-Jan-2021 |
Nikita Popov |
Replace zend_bool uses with bool We're starting to see a mix between uses of zend_bool and bool. Replace all usages with the standard bool type everywhere. Of course, zend_bool
Replace zend_bool uses with bool We're starting to see a mix between uses of zend_bool and bool. Replace all usages with the standard bool type everywhere. Of course, zend_bool is retained as an alias.
show more ...
|
Revision tags: php-8.0.1, php-7.4.14, php-7.3.26 |
|
#
94a151a0 |
| 27-Dec-2020 |
Jens de Nies |
Fixed bug #80545 This converts the remaining "non well-formed" warnings in bcmath to ValueErrors, in line with the other warning promotions that have been performed in this extension
Fixed bug #80545 This converts the remaining "non well-formed" warnings in bcmath to ValueErrors, in line with the other warning promotions that have been performed in this extension. Closes GH-80545.
show more ...
|
Revision tags: php-7.4.14RC1, php-8.0.1RC1, php-7.3.26RC1, php-8.0.0, php-7.3.25, php-7.4.13, php-8.0.0RC5, php-7.4.13RC1, php-8.0.0RC4, php-7.3.25RC1, php-7.4.12, php-8.0.0RC3, php-7.3.24 |
|
#
ac87880a |
| 21-Oct-2020 |
Nikita Popov |
Update bcmath.scale when calling bcscale() We should keep the value of bcmath.scale and the internal bc_precision global synchronized. Probably more important than the ability t
Update bcmath.scale when calling bcscale() We should keep the value of bcmath.scale and the internal bc_precision global synchronized. Probably more important than the ability to retrieve bcmath.scale via ini_get(), this also makes sure that the set scale does not leak into the next request, as it currently does.
show more ...
|
Revision tags: php-8.0.0RC2, php-7.4.12RC1, php-7.3.24RC1, php-7.2.34, php-8.0.0rc1, php-7.4.11, php-7.3.23, php-8.0.0beta4, php-7.4.11RC1, php-7.3.23RC1 |
|
#
cd05b56a |
| 11-Sep-2020 |
George Peter Banyard |
Promote some warnings in BCMath to Errors Also do a bit of refactoring at the same time. Closes GH-6105 |
Revision tags: php-8.0.0beta3, php-7.4.10, php-7.3.22, php-8.0.0beta2, php-7.3.22RC1, php-7.4.10RC1, php-8.0.0beta1, php-7.4.9, php-7.2.33, php-7.3.21, php-8.0.0alpha3, php-7.4.9RC1, php-7.3.21RC1, php-7.4.8, php-7.2.32, php-8.0.0alpha2, php-7.3.20 |
|
#
2b5de6f8 |
| 01-Jul-2020 |
Max Semenik |
Remove proto comments from C files Closes GH-5758 |
Revision tags: php-8.0.0alpha1, php-7.4.8RC1, php-7.3.20RC1 |
|
#
2c97b401 |
| 20-Jun-2020 |
Vladyslav Startsev <17382248+vladyslavstartsev@users.noreply.github.com> |
make bcpowmod stricter by not returning false, instead throw exception Closes GH-5747 |
Revision tags: php-7.4.7, php-7.3.19, php-7.4.7RC1, php-7.3.19RC1 |
|
#
2bb1cc4b |
| 12-May-2020 |
George Peter Banyard |
Fix [-Wundef] warning in BCMath extension |
Revision tags: php-7.4.6, php-7.2.31 |
|
#
8a41c9e0 |
| 01-May-2020 |
Máté Kocsis |
Convert UNKNOWN default values to null in ext/bcmath |
Revision tags: php-7.4.6RC1, php-7.3.18RC1 |
|
#
b64aee97 |
| 24-Apr-2020 |
Vladyslav Startsev <17382248+vladyslavstartsev@users.noreply.github.com> |
Ensure bcmath scale is between 0 and INT_MAX Make sure bcmatch scale is between 0 and INT_MAX, both for the ini setting, and all the functions accepting a scale argument. A ValueErro
Ensure bcmath scale is between 0 and INT_MAX Make sure bcmatch scale is between 0 and INT_MAX, both for the ini setting, and all the functions accepting a scale argument. A ValueError is thrown if a function argument is out of range. Closes GH-5455.
show more ...
|
Revision tags: php-7.2.30, php-7.4.5, php-7.3.17 |
|
#
7c307873 |
| 04-Apr-2020 |
Máté Kocsis |
Generate function entries from stubs for a couple of extensions Closes GH-5347 |
Revision tags: php-7.4.5RC1, php-7.3.17RC1, php-7.3.18, php-7.4.4, php-7.2.29, php-7.3.16, php-7.4.4RC1, php-7.3.16RC1, php-7.4.3, php-7.2.28, php-7.3.15RC1, php-7.4.3RC1, php-7.3.15, php-7.2.27, php-7.4.2, php-7.3.14, php-7.3.14RC1, php-7.4.2RC1, php-7.4.1, php-7.2.26, php-7.3.13, php-7.4.1RC1, php-7.3.13RC1, php-7.2.26RC1, php-7.4.0, php-7.2.25, php-7.3.12, php-7.4.0RC6, php-7.3.12RC1, php-7.2.25RC1, php-7.4.0RC5 |
|
#
84f2a984 |
| 28-Oct-2019 |
Christoph M. Becker |
Elevate warnings to Error Exceptions in ext/bcmath `bcdiv()` and `bcmod()` throw DivisionByZeroError if the divisor is 0, which matches the behavior of the `/` and `%` operators, and `bc
Elevate warnings to Error Exceptions in ext/bcmath `bcdiv()` and `bcmod()` throw DivisionByZeroError if the divisor is 0, which matches the behavior of the `/` and `%` operators, and `bcsqrt()` throws ValueError for negative operands.
show more ...
|
Revision tags: php-7.1.33, php-7.2.24, php-7.3.11, php-7.4.0RC4, php-7.3.11RC1, php-7.2.24RC1, php-7.4.0RC3 |
|
#
5d6e923d |
| 24-Sep-2019 |
Gabriel Caruso |
Remove mention of PHP major version in Copyright headers Closes GH-4732. |