Yasuo Ohgaki wrote: > If you could send patch as unified diff, it's much easier to apply :) > Anyway, I attached hand edited diff since my CVS source contains > other changes now... > > Someone care to check in?
Commited by myself -- Yasuo Ohgaki > Graeme Merrall wrote: > >> I was porting some Python scripts to PHP and came across the fmod() >> function. >> >> Since it's not implemented in PHP so I whipped up an fmod function for >> inclusion >> into ext/standard/math.c which I've pasted below. I can create a diff if >> necessary to include the 2 small changes to basic_functions.c and >> php_math.h >> >> Cheers, >> Graeme >> >> /* {{{ proto double fmod(double x, double y) >> Returns the remainder of dividing x by y as a double */ >> PHP_FUNCTION(fmod) >> { >> zval **num1, **num2; >> if (ZEND_NUM_ARGS() != 2 || zend_get_parameters_ex(2, &num1, >> &num2) >> == FAILURE) { >> WRONG_PARAM_COUNT; >> } >> >> convert_to_double_ex(num1); >> convert_to_double_ex(num2); >> Z_DVAL_P(return_value) = fmod(Z_DVAL_PP(num1), Z_DVAL_PP(num2)); >> Z_TYPE_P(return_value) = IS_DOUBLE; >> } >> /* }}} */ >> >> > > ------------------------------------------------------------------------ > > Index: basic_functions.c > =================================================================== > RCS file: /repository/php4/ext/standard/basic_functions.c,v > retrieving revision 1.442 > diff -u -r1.442 basic_functions.c > --- basic_functions.c 10 Feb 2002 17:38:15 -0000 1.442 > +++ basic_functions.c 21 Feb 2002 07:58:36 -0000 > @@ -475,6 +475,7 @@ > 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) > > Index: math.c > =================================================================== > RCS file: /repository/php4/ext/standard/math.c,v > retrieving revision 1.77 > diff -u -r1.77 math.c > --- math.c 28 Jan 2002 16:06:27 -0000 1.77 > +++ math.c 21 Feb 2002 07:58:37 -0000 > @@ -1046,6 +1046,21 @@ > } > /* }}} */ > > +/* {{{ 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 > Index: php_math.h > =================================================================== > RCS file: /repository/php4/ext/standard/php_math.h,v > retrieving revision 1.14 > diff -u -r1.14 php_math.h > --- php_math.h 9 Jan 2002 23:59:04 -0000 1.14 > +++ php_math.h 21 Feb 2002 07:58:37 -0000 > @@ -58,6 +58,7 @@ > PHP_FUNCTION(octdec); > PHP_FUNCTION(base_convert); > PHP_FUNCTION(number_format); > +PHP_FUNCTION(fmod); > PHP_FUNCTION(deg2rad); > PHP_FUNCTION(rad2deg); > > -- PHP Development Mailing List <http://www.php.net/> To unsubscribe, visit: http://www.php.net/unsub.php