Additional fix for bug #52550 & fix test & warning from previous fixes

This commit is contained in:
Ilia Alshanetsky 2010-08-08 15:45:02 +00:00
parent d0dc4810eb
commit 7ab1a74f49
2 changed files with 10 additions and 4 deletions

View File

@ -29,6 +29,8 @@
#include <float.h>
#include <stdlib.h>
#include "basic_functions.h"
/* {{{ php_intlog10abs
Returns floor(log10(fabs(val))), uses fast binary search */
static inline int php_intlog10abs(double value) {
@ -127,7 +129,11 @@ PHPAPI double _php_math_round(double value, int places, int mode) {
double tmp_value;
int precision_places;
precision_places = 14 - php_intlog10abs(value);
if ((precision_places = php_intlog10abs(value)) > 0) {
precision_places = 14 - php_intlog10abs(value);
} else {
precision_places = 14;
}
f1 = php_intpow10(abs(places));

View File

@ -94,7 +94,7 @@ Warning: log(): base must be greater than 0 in %s on line %d
bool(false)
-- Iteration 2 --
float(INF)
float(NAN)
-- Iteration 3 --
float(0.12145441273706)
@ -135,7 +135,7 @@ Warning: log(): base must be greater than 0 in %s on line %d
bool(false)
-- Iteration 13 --
float(INF)
float(NAN)
-- Iteration 14 --
@ -143,7 +143,7 @@ Warning: log(): base must be greater than 0 in %s on line %d
bool(false)
-- Iteration 15 --
float(INF)
float(NAN)
-- Iteration 16 --