1919
2020#include "php.h"
2121#include "php_math.h"
22- #include "zend_multiply .h"
22+ #include "zend_bitset .h"
2323#include "zend_exceptions.h"
24+ #include "zend_multiply.h"
2425#include "zend_portability.h"
25- #include "zend_bitset.h"
2626
27- #include <math.h>
2827#include <float.h>
28+ #include <math.h>
2929#include <stdlib.h>
3030
3131#include "basic_functions.h"
3232
3333/* {{{ php_intlog10abs
3434 Returns floor(log10(fabs(val))), uses fast binary search */
3535static inline int php_intlog10abs (double value ) {
36- int result ;
3736 value = fabs (value );
3837
3938 if (value < 1e-8 || value > 1e22 ) {
40- result = (int )floor (log10 (value ));
39+ return (int )floor (log10 (value ));
4140 } else {
42- static const double values [] = {
43- 1e-8 , 1e-7 , 1e-6 , 1e-5 , 1e-4 , 1e-3 , 1e-2 , 1e-1 ,
44- 1e0 , 1e1 , 1e2 , 1e3 , 1e4 , 1e5 , 1e6 , 1e7 ,
45- 1e8 , 1e9 , 1e10 , 1e11 , 1e12 , 1e13 , 1e14 , 1e15 ,
46- 1e16 , 1e17 , 1e18 , 1e19 , 1e20 , 1e21 , 1e22 };
4741 /* Do a binary search with 5 steps */
48- result = 15 ;
42+ int result = 15 ;
43+ static const double values [] = {
44+ 1e-8 , 1e-7 , 1e-6 , 1e-5 , 1e-4 , 1e-3 , 1e-2 , 1e-1 , 1e0 , 1e1 , 1e2 ,
45+ 1e3 , 1e4 , 1e5 , 1e6 , 1e7 , 1e8 , 1e9 , 1e10 , 1e11 , 1e12 , 1e13 ,
46+ 1e14 , 1e15 , 1e16 , 1e17 , 1e18 , 1e19 , 1e20 , 1e21 , 1e22 };
47+
4948 if (value < values [result ]) {
5049 result -= 8 ;
5150 } else {
@@ -70,23 +69,23 @@ static inline int php_intlog10abs(double value) {
7069 result -= 1 ;
7170 }
7271 result -= 8 ;
72+ return result ;
7373 }
74- return result ;
7574}
7675/* }}} */
7776
7877/* {{{ php_intpow10
7978 Returns pow(10.0, (double)power), uses fast lookup table for exact powers */
8079static inline double php_intpow10 (int power ) {
81- static const double powers [] = {
82- 1e0 , 1e1 , 1e2 , 1e3 , 1e4 , 1e5 , 1e6 , 1e7 ,
83- 1e8 , 1e9 , 1e10 , 1e11 , 1e12 , 1e13 , 1e14 , 1e15 ,
84- 1e16 , 1e17 , 1e18 , 1e19 , 1e20 , 1e21 , 1e22 };
85-
8680 /* Not in lookup table */
8781 if (power < 0 || power > 22 ) {
8882 return pow (10.0 , (double )power );
8983 }
84+
85+ static const double powers [] = {
86+ 1e0 , 1e1 , 1e2 , 1e3 , 1e4 , 1e5 , 1e6 , 1e7 , 1e8 , 1e9 , 1e10 , 1e11 ,
87+ 1e12 , 1e13 , 1e14 , 1e15 , 1e16 , 1e17 , 1e18 , 1e19 , 1e20 , 1e21 , 1e22 };
88+
9089 return powers [power ];
9190}
9291/* }}} */
@@ -1023,7 +1022,7 @@ PHPAPI zend_string *_php_math_number_format_ex(double d, int dec, const char *de
10231022 size_t integral ;
10241023 size_t reslen = 0 ;
10251024 int count = 0 ;
1026- int is_negative = 0 ;
1025+ int is_negative = 0 ;
10271026
10281027 if (d < 0 ) {
10291028 is_negative = 1 ;
0 commit comments