Skip to content

Commit b442c89

Browse files
committed
Fix arginfo
These parameters accept int|float, since they are parsed with `Z_PARAM_NUMBER`.
1 parent 66c85c3 commit b442c89

File tree

2 files changed

+26
-24
lines changed

2 files changed

+26
-24
lines changed

ext/standard/basic_functions.stub.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1018,11 +1018,11 @@ function mail(string $to, string $subject, string $message, string|array $additi
10181018

10191019
function abs(int|float $number): int|float {}
10201020

1021-
function ceil(float $number): float {}
1021+
function ceil(int|float $number): float {}
10221022

1023-
function floor(float $number): float {}
1023+
function floor(int|float $number): float {}
10241024

1025-
function round($number, int $precision = 0, int $mode = PHP_ROUND_HALF_UP): float {}
1025+
function round(int|float $number, int $precision = 0, int $mode = PHP_ROUND_HALF_UP): float {}
10261026

10271027
function sin(float $number): float {}
10281028

ext/standard/basic_functions_arginfo.h

Lines changed: 23 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1584,49 +1584,51 @@ ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_abs, 0, 1, MAY_BE_LONG|MAY_BE_DO
15841584
ZEND_END_ARG_INFO()
15851585

15861586
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_ceil, 0, 1, IS_DOUBLE, 0)
1587-
ZEND_ARG_TYPE_INFO(0, number, IS_DOUBLE, 0)
1587+
ZEND_ARG_TYPE_MASK(0, number, MAY_BE_LONG|MAY_BE_DOUBLE)
15881588
ZEND_END_ARG_INFO()
15891589

15901590
#define arginfo_floor arginfo_ceil
15911591

15921592
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_round, 0, 1, IS_DOUBLE, 0)
1593-
ZEND_ARG_INFO(0, number)
1593+
ZEND_ARG_TYPE_MASK(0, number, MAY_BE_LONG|MAY_BE_DOUBLE)
15941594
ZEND_ARG_TYPE_INFO(0, precision, IS_LONG, 0)
15951595
ZEND_ARG_TYPE_INFO(0, mode, IS_LONG, 0)
15961596
ZEND_END_ARG_INFO()
15971597

1598-
#define arginfo_sin arginfo_ceil
1598+
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_sin, 0, 1, IS_DOUBLE, 0)
1599+
ZEND_ARG_TYPE_INFO(0, number, IS_DOUBLE, 0)
1600+
ZEND_END_ARG_INFO()
15991601

1600-
#define arginfo_cos arginfo_ceil
1602+
#define arginfo_cos arginfo_sin
16011603

1602-
#define arginfo_tan arginfo_ceil
1604+
#define arginfo_tan arginfo_sin
16031605

1604-
#define arginfo_asin arginfo_ceil
1606+
#define arginfo_asin arginfo_sin
16051607

1606-
#define arginfo_acos arginfo_ceil
1608+
#define arginfo_acos arginfo_sin
16071609

1608-
#define arginfo_atan arginfo_ceil
1610+
#define arginfo_atan arginfo_sin
16091611

1610-
#define arginfo_atanh arginfo_ceil
1612+
#define arginfo_atanh arginfo_sin
16111613

16121614
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_atan2, 0, 2, IS_DOUBLE, 0)
16131615
ZEND_ARG_TYPE_INFO(0, y, IS_DOUBLE, 0)
16141616
ZEND_ARG_TYPE_INFO(0, x, IS_DOUBLE, 0)
16151617
ZEND_END_ARG_INFO()
16161618

1617-
#define arginfo_sinh arginfo_ceil
1619+
#define arginfo_sinh arginfo_sin
16181620

1619-
#define arginfo_cosh arginfo_ceil
1621+
#define arginfo_cosh arginfo_sin
16201622

1621-
#define arginfo_tanh arginfo_ceil
1623+
#define arginfo_tanh arginfo_sin
16221624

1623-
#define arginfo_asinh arginfo_ceil
1625+
#define arginfo_asinh arginfo_sin
16241626

1625-
#define arginfo_acosh arginfo_ceil
1627+
#define arginfo_acosh arginfo_sin
16261628

1627-
#define arginfo_expm1 arginfo_ceil
1629+
#define arginfo_expm1 arginfo_sin
16281630

1629-
#define arginfo_log1p arginfo_ceil
1631+
#define arginfo_log1p arginfo_sin
16301632

16311633
#define arginfo_pi arginfo_lcg_value
16321634

@@ -1648,25 +1650,25 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_pow, 0, 0, 2)
16481650
ZEND_ARG_INFO(0, exp)
16491651
ZEND_END_ARG_INFO()
16501652

1651-
#define arginfo_exp arginfo_ceil
1653+
#define arginfo_exp arginfo_sin
16521654

16531655
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_log, 0, 1, IS_DOUBLE, 0)
16541656
ZEND_ARG_TYPE_INFO(0, number, IS_DOUBLE, 0)
16551657
ZEND_ARG_TYPE_INFO(0, base, IS_DOUBLE, 0)
16561658
ZEND_END_ARG_INFO()
16571659

1658-
#define arginfo_log10 arginfo_ceil
1660+
#define arginfo_log10 arginfo_sin
16591661

1660-
#define arginfo_sqrt arginfo_ceil
1662+
#define arginfo_sqrt arginfo_sin
16611663

16621664
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_hypot, 0, 2, IS_DOUBLE, 0)
16631665
ZEND_ARG_TYPE_INFO(0, x, IS_DOUBLE, 0)
16641666
ZEND_ARG_TYPE_INFO(0, y, IS_DOUBLE, 0)
16651667
ZEND_END_ARG_INFO()
16661668

1667-
#define arginfo_deg2rad arginfo_ceil
1669+
#define arginfo_deg2rad arginfo_sin
16681670

1669-
#define arginfo_rad2deg arginfo_ceil
1671+
#define arginfo_rad2deg arginfo_sin
16701672

16711673
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_bindec, 0, 1, MAY_BE_LONG|MAY_BE_DOUBLE)
16721674
ZEND_ARG_TYPE_INFO(0, binary_string, IS_STRING, 0)

0 commit comments

Comments
 (0)