File tree Expand file tree Collapse file tree 1 file changed +4
-8
lines changed Expand file tree Collapse file tree 1 file changed +4
-8
lines changed Original file line number Diff line number Diff line change @@ -11,15 +11,11 @@ export function isPowerOf2(x: i32): bool {
1111export function accuratePow64 ( x : f64 , y : f64 ) : f64 {
1212 if ( ! ASC_TARGET ) { // ASC_TARGET == JS
1313 // Engines like V8, WebKit and SpiderMonkey uses powi fast path if exponent is integer
14- // This speculative optimization leads to loose precisions like 10 ** 208 != 1e208
15- // or/and 10 ** -5 != 1e-5 anymore. For avoid this behaviour we are forcing exponent
14+ // This speculative optimization leads to loose precisions like 10 ** -5 != 1e-5 anymore.
15+ // For avoid this behaviour we are forcing exponent
1616 // to fractional form and compensate this afterwards.
17- if ( isFinite ( y ) && Math . abs ( y ) >= 2 && Math . trunc ( y ) == y ) {
18- if ( y < 0 ) {
19- return Math . pow ( x , y + 0.5 ) / Math . pow ( x , 0.5 ) ;
20- } else {
21- return Math . pow ( x , y - 0.5 ) * Math . pow ( x , 0.5 ) ;
22- }
17+ if ( isFinite ( y ) && y <= - 2 && Math . trunc ( y ) == y ) {
18+ return Math . pow ( x , y + 0.5 ) / Math . pow ( x , 0.5 ) ;
2319 }
2420 }
2521 return Math . pow ( x , y ) ;
You can’t perform that action at this time.
0 commit comments