diff options
-rw-r--r-- | ext/standard/basic_functions.c | 1 | ||||
-rw-r--r-- | ext/standard/math.c | 15 | ||||
-rw-r--r-- | ext/standard/php_math.h | 1 |
3 files changed, 17 insertions, 0 deletions
diff --git a/ext/standard/basic_functions.c b/ext/standard/basic_functions.c index 49cc891dbb..12ce0f6e1a 100644 --- a/ext/standard/basic_functions.c +++ b/ext/standard/basic_functions.c @@ -475,6 +475,7 @@ function_entry basic_functions[] = { PHP_FE(dechex, NULL) PHP_FE(base_convert, NULL) PHP_FE(number_format, NULL) + PHP_FE(fmod, NULL) PHP_FE(ip2long, NULL) PHP_FE(long2ip, NULL) diff --git a/ext/standard/math.c b/ext/standard/math.c index d594a5a21e..fea4be5f3b 100644 --- a/ext/standard/math.c +++ b/ext/standard/math.c @@ -1046,6 +1046,21 @@ PHP_FUNCTION(number_format) } /* }}} */ +/* {{{ proto double fmod(double x, double y) + Returns the remainder of dividing x by y as a double */ +PHP_FUNCTION(fmod) +{ + double num1, num2; + + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "dd", &num1, &num2) == FAILURE) { + return; + } + + Z_DVAL_P(return_value) = fmod(num1, num2); + Z_TYPE_P(return_value) = IS_DOUBLE; +} +/* }}} */ + /* * Local variables: * tab-width: 4 diff --git a/ext/standard/php_math.h b/ext/standard/php_math.h index 496ccf1b80..ceb6a0b09e 100644 --- a/ext/standard/php_math.h +++ b/ext/standard/php_math.h @@ -58,6 +58,7 @@ PHP_FUNCTION(hexdec); PHP_FUNCTION(octdec); PHP_FUNCTION(base_convert); PHP_FUNCTION(number_format); +PHP_FUNCTION(fmod); PHP_FUNCTION(deg2rad); PHP_FUNCTION(rad2deg); |