File tree Expand file tree Collapse file tree 1 file changed +12
-17
lines changed Expand file tree Collapse file tree 1 file changed +12
-17
lines changed Original file line number Diff line number Diff line change @@ -362,23 +362,18 @@ static double __evaluate_json_number(const char *integer,
362362 }
363363 }
364364
365- num = mant ;
366- if (exp != 0 && figures != 0 )
367- {
368- if (exp > 309 - figures )
369- num = INFINITY ;
370- else if (exp > 0 )
371- num *= __power_of_10 [exp ];
372- else if (exp > -309 )
373- num /= __power_of_10 [- exp ];
374- else if (exp > -324 - figures )
375- {
376- num /= __power_of_10 [- exp - 308 ];
377- num /= __power_of_10 [308 ];
378- }
379- else
380- num = 0.0 ;
381- }
365+ if (exp == 0 || figures == 0 )
366+ num = mant ;
367+ else if (exp > 291 )
368+ num = INFINITY ;
369+ else if (exp > 0 )
370+ num = mant * __power_of_10 [exp ];
371+ else if (exp > -309 )
372+ num = mant / __power_of_10 [- exp ];
373+ else if (exp > -324 - figures )
374+ num = mant / __power_of_10 [- exp - 308 ] / __power_of_10 [308 ];
375+ else
376+ num = 0.0 ;
382377
383378 return sign ? - num : num ;
384379}
You can’t perform that action at this time.
0 commit comments