mirror of
https://github.com/fluencelabs/assemblyscript
synced 2025-06-24 12:11:50 +00:00
Move some numeric builtins to stdlib; Minor refactoring
This commit is contained in:
@ -1,5 +1,6 @@
|
||||
(module
|
||||
(type $FF (func (param f64) (result f64)))
|
||||
(type $Fi (func (param f64) (result i32)))
|
||||
(type $FFF (func (param f64 f64) (result f64)))
|
||||
(type $FiF (func (param f64 i32) (result f64)))
|
||||
(type $Ff (func (param f64) (result f32)))
|
||||
@ -1306,7 +1307,18 @@
|
||||
(get_local $0)
|
||||
)
|
||||
)
|
||||
(func $~lib/math/NativeMath.atan (; 12 ;) (type $FF) (param $0 f64) (result f64)
|
||||
(func $isNaN<f64> (; 12 ;) (type $Fi) (param $0 f64) (result i32)
|
||||
(i64.gt_u
|
||||
(i64.and
|
||||
(i64.reinterpret/f64
|
||||
(get_local $0)
|
||||
)
|
||||
(i64.const 9223372036854775807)
|
||||
)
|
||||
(i64.const 9218868437227405312)
|
||||
)
|
||||
)
|
||||
(func $~lib/math/NativeMath.atan (; 13 ;) (type $FF) (param $0 f64) (result f64)
|
||||
(local $1 f64)
|
||||
(local $2 f64)
|
||||
(local $3 i32)
|
||||
@ -1338,14 +1350,8 @@
|
||||
)
|
||||
(block
|
||||
(if
|
||||
(i64.gt_u
|
||||
(i64.and
|
||||
(i64.reinterpret/f64
|
||||
(get_local $0)
|
||||
)
|
||||
(i64.const 9223372036854775807)
|
||||
)
|
||||
(i64.const 9218868437227405312)
|
||||
(call $isNaN<f64>
|
||||
(get_local $0)
|
||||
)
|
||||
(return
|
||||
(get_local $0)
|
||||
@ -1669,12 +1675,12 @@
|
||||
(get_local $4)
|
||||
)
|
||||
)
|
||||
(func $std/libm/atan (; 13 ;) (type $FF) (param $0 f64) (result f64)
|
||||
(func $std/libm/atan (; 14 ;) (type $FF) (param $0 f64) (result f64)
|
||||
(call $~lib/math/NativeMath.atan
|
||||
(get_local $0)
|
||||
)
|
||||
)
|
||||
(func $~lib/math/NativeMath.atanh (; 14 ;) (type $FF) (param $0 f64) (result f64)
|
||||
(func $~lib/math/NativeMath.atanh (; 15 ;) (type $FF) (param $0 f64) (result f64)
|
||||
(local $1 i64)
|
||||
(local $2 i64)
|
||||
(local $3 i64)
|
||||
@ -1771,12 +1777,12 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(func $std/libm/atanh (; 15 ;) (type $FF) (param $0 f64) (result f64)
|
||||
(func $std/libm/atanh (; 16 ;) (type $FF) (param $0 f64) (result f64)
|
||||
(call $~lib/math/NativeMath.atanh
|
||||
(get_local $0)
|
||||
)
|
||||
)
|
||||
(func $~lib/math/NativeMath.atan2 (; 16 ;) (type $FFF) (param $0 f64) (param $1 f64) (result f64)
|
||||
(func $~lib/math/NativeMath.atan2 (; 17 ;) (type $FFF) (param $0 f64) (param $1 f64) (result f64)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
@ -1788,25 +1794,13 @@
|
||||
(i32.and
|
||||
(if (result i32)
|
||||
(tee_local $2
|
||||
(i64.gt_u
|
||||
(i64.and
|
||||
(i64.reinterpret/f64
|
||||
(get_local $1)
|
||||
)
|
||||
(i64.const 9223372036854775807)
|
||||
)
|
||||
(i64.const 9218868437227405312)
|
||||
(call $isNaN<f64>
|
||||
(get_local $1)
|
||||
)
|
||||
)
|
||||
(get_local $2)
|
||||
(i64.gt_u
|
||||
(i64.and
|
||||
(i64.reinterpret/f64
|
||||
(get_local $0)
|
||||
)
|
||||
(i64.const 9223372036854775807)
|
||||
)
|
||||
(i64.const 9218868437227405312)
|
||||
(call $isNaN<f64>
|
||||
(get_local $0)
|
||||
)
|
||||
)
|
||||
(i32.const 1)
|
||||
@ -2123,13 +2117,13 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(func $std/libm/atan2 (; 17 ;) (type $FFF) (param $0 f64) (param $1 f64) (result f64)
|
||||
(func $std/libm/atan2 (; 18 ;) (type $FFF) (param $0 f64) (param $1 f64) (result f64)
|
||||
(call $~lib/math/NativeMath.atan2
|
||||
(get_local $0)
|
||||
(get_local $1)
|
||||
)
|
||||
)
|
||||
(func $~lib/math/NativeMath.cbrt (; 18 ;) (type $FF) (param $0 f64) (result f64)
|
||||
(func $~lib/math/NativeMath.cbrt (; 19 ;) (type $FF) (param $0 f64) (result f64)
|
||||
(local $1 f64)
|
||||
(local $2 f64)
|
||||
(local $3 i32)
|
||||
@ -2312,17 +2306,17 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(func $std/libm/cbrt (; 19 ;) (type $FF) (param $0 f64) (result f64)
|
||||
(func $std/libm/cbrt (; 20 ;) (type $FF) (param $0 f64) (result f64)
|
||||
(call $~lib/math/NativeMath.cbrt
|
||||
(get_local $0)
|
||||
)
|
||||
)
|
||||
(func $std/libm/ceil (; 20 ;) (type $FF) (param $0 f64) (result f64)
|
||||
(func $std/libm/ceil (; 21 ;) (type $FF) (param $0 f64) (result f64)
|
||||
(f64.ceil
|
||||
(get_local $0)
|
||||
)
|
||||
)
|
||||
(func $std/libm/clz32 (; 21 ;) (type $FF) (param $0 f64) (result f64)
|
||||
(func $std/libm/clz32 (; 22 ;) (type $FF) (param $0 f64) (result f64)
|
||||
(f64.convert_s/i32
|
||||
(i32.clz
|
||||
(i32.trunc_s/f64
|
||||
@ -2331,15 +2325,15 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(func $~lib/math/NativeMath.cos (; 22 ;) (type $FF) (param $0 f64) (result f64)
|
||||
(func $~lib/math/NativeMath.cos (; 23 ;) (type $FF) (param $0 f64) (result f64)
|
||||
(unreachable)
|
||||
)
|
||||
(func $std/libm/cos (; 23 ;) (type $FF) (param $0 f64) (result f64)
|
||||
(func $std/libm/cos (; 24 ;) (type $FF) (param $0 f64) (result f64)
|
||||
(call $~lib/math/NativeMath.cos
|
||||
(get_local $0)
|
||||
)
|
||||
)
|
||||
(func $~lib/math/NativeMath.expm1 (; 24 ;) (type $FF) (param $0 f64) (result f64)
|
||||
(func $~lib/math/NativeMath.expm1 (; 25 ;) (type $FF) (param $0 f64) (result f64)
|
||||
(local $1 f64)
|
||||
(local $2 i32)
|
||||
(local $3 f64)
|
||||
@ -2378,14 +2372,8 @@
|
||||
)
|
||||
(block
|
||||
(if
|
||||
(i64.gt_u
|
||||
(i64.and
|
||||
(i64.reinterpret/f64
|
||||
(get_local $0)
|
||||
)
|
||||
(i64.const 9223372036854775807)
|
||||
)
|
||||
(i64.const 9218868437227405312)
|
||||
(call $isNaN<f64>
|
||||
(get_local $0)
|
||||
)
|
||||
(return
|
||||
(get_local $0)
|
||||
@ -2785,7 +2773,7 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(func $~lib/math/NativeMath.scalbn (; 25 ;) (type $FiF) (param $0 f64) (param $1 i32) (result f64)
|
||||
(func $~lib/math/NativeMath.scalbn (; 26 ;) (type $FiF) (param $0 f64) (param $1 i32) (result f64)
|
||||
(local $2 f64)
|
||||
(set_local $2
|
||||
(get_local $0)
|
||||
@ -2899,7 +2887,7 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(func $~lib/math/NativeMath.exp (; 26 ;) (type $FF) (param $0 f64) (result f64)
|
||||
(func $~lib/math/NativeMath.exp (; 27 ;) (type $FF) (param $0 f64) (result f64)
|
||||
(local $1 i32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
@ -2932,14 +2920,8 @@
|
||||
)
|
||||
(block
|
||||
(if
|
||||
(i64.gt_u
|
||||
(i64.and
|
||||
(i64.reinterpret/f64
|
||||
(get_local $0)
|
||||
)
|
||||
(i64.const 9223372036854775807)
|
||||
)
|
||||
(i64.const 9218868437227405312)
|
||||
(call $isNaN<f64>
|
||||
(get_local $0)
|
||||
)
|
||||
(return
|
||||
(get_local $0)
|
||||
@ -3109,7 +3091,7 @@
|
||||
(get_local $2)
|
||||
)
|
||||
)
|
||||
(func $~lib/math/expo2 (; 27 ;) (type $FF) (param $0 f64) (result f64)
|
||||
(func $~lib/math/expo2 (; 28 ;) (type $FF) (param $0 f64) (result f64)
|
||||
(local $1 f64)
|
||||
(f64.mul
|
||||
(f64.mul
|
||||
@ -3126,7 +3108,7 @@
|
||||
(get_local $1)
|
||||
)
|
||||
)
|
||||
(func $~lib/math/NativeMath.cosh (; 28 ;) (type $FF) (param $0 f64) (result f64)
|
||||
(func $~lib/math/NativeMath.cosh (; 29 ;) (type $FF) (param $0 f64) (result f64)
|
||||
(local $1 i32)
|
||||
(local $2 i64)
|
||||
(set_local $0
|
||||
@ -3213,32 +3195,32 @@
|
||||
(get_local $0)
|
||||
)
|
||||
)
|
||||
(func $std/libm/cosh (; 29 ;) (type $FF) (param $0 f64) (result f64)
|
||||
(func $std/libm/cosh (; 30 ;) (type $FF) (param $0 f64) (result f64)
|
||||
(call $~lib/math/NativeMath.cosh
|
||||
(get_local $0)
|
||||
)
|
||||
)
|
||||
(func $std/libm/exp (; 30 ;) (type $FF) (param $0 f64) (result f64)
|
||||
(func $std/libm/exp (; 31 ;) (type $FF) (param $0 f64) (result f64)
|
||||
(call $~lib/math/NativeMath.exp
|
||||
(get_local $0)
|
||||
)
|
||||
)
|
||||
(func $std/libm/expm1 (; 31 ;) (type $FF) (param $0 f64) (result f64)
|
||||
(func $std/libm/expm1 (; 32 ;) (type $FF) (param $0 f64) (result f64)
|
||||
(call $~lib/math/NativeMath.expm1
|
||||
(get_local $0)
|
||||
)
|
||||
)
|
||||
(func $std/libm/floor (; 32 ;) (type $FF) (param $0 f64) (result f64)
|
||||
(func $std/libm/floor (; 33 ;) (type $FF) (param $0 f64) (result f64)
|
||||
(f64.floor
|
||||
(get_local $0)
|
||||
)
|
||||
)
|
||||
(func $std/libm/fround (; 33 ;) (type $Ff) (param $0 f64) (result f32)
|
||||
(func $std/libm/fround (; 34 ;) (type $Ff) (param $0 f64) (result f32)
|
||||
(f32.demote/f64
|
||||
(get_local $0)
|
||||
)
|
||||
)
|
||||
(func $~lib/math/NativeMath.hypot (; 34 ;) (type $FFF) (param $0 f64) (param $1 f64) (result f64)
|
||||
(func $~lib/math/NativeMath.hypot (; 35 ;) (type $FFF) (param $0 f64) (param $1 f64) (result f64)
|
||||
(local $2 f64)
|
||||
(local $3 f64)
|
||||
(local $4 i64)
|
||||
@ -3507,13 +3489,13 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(func $std/libm/hypot (; 35 ;) (type $FFF) (param $0 f64) (param $1 f64) (result f64)
|
||||
(func $std/libm/hypot (; 36 ;) (type $FFF) (param $0 f64) (param $1 f64) (result f64)
|
||||
(call $~lib/math/NativeMath.hypot
|
||||
(get_local $0)
|
||||
(get_local $1)
|
||||
)
|
||||
)
|
||||
(func $~lib/math/NativeMath.imul (; 36 ;) (type $FFF) (param $0 f64) (param $1 f64) (result f64)
|
||||
(func $~lib/math/NativeMath.imul (; 37 ;) (type $FFF) (param $0 f64) (param $1 f64) (result f64)
|
||||
(f64.convert_s/i32
|
||||
(i32.mul
|
||||
(i32.trunc_s/f64
|
||||
@ -3525,18 +3507,18 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(func $std/libm/imul (; 37 ;) (type $FFF) (param $0 f64) (param $1 f64) (result f64)
|
||||
(func $std/libm/imul (; 38 ;) (type $FFF) (param $0 f64) (param $1 f64) (result f64)
|
||||
(call $~lib/math/NativeMath.imul
|
||||
(get_local $0)
|
||||
(get_local $1)
|
||||
)
|
||||
)
|
||||
(func $std/libm/log (; 38 ;) (type $FF) (param $0 f64) (result f64)
|
||||
(func $std/libm/log (; 39 ;) (type $FF) (param $0 f64) (result f64)
|
||||
(call $~lib/math/NativeMath.log
|
||||
(get_local $0)
|
||||
)
|
||||
)
|
||||
(func $~lib/math/NativeMath.log10 (; 39 ;) (type $FF) (param $0 f64) (result f64)
|
||||
(func $~lib/math/NativeMath.log10 (; 40 ;) (type $FF) (param $0 f64) (result f64)
|
||||
(local $1 f64)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
@ -3854,17 +3836,17 @@
|
||||
(get_local $0)
|
||||
)
|
||||
)
|
||||
(func $std/libm/log10 (; 40 ;) (type $FF) (param $0 f64) (result f64)
|
||||
(func $std/libm/log10 (; 41 ;) (type $FF) (param $0 f64) (result f64)
|
||||
(call $~lib/math/NativeMath.log10
|
||||
(get_local $0)
|
||||
)
|
||||
)
|
||||
(func $std/libm/log1p (; 41 ;) (type $FF) (param $0 f64) (result f64)
|
||||
(func $std/libm/log1p (; 42 ;) (type $FF) (param $0 f64) (result f64)
|
||||
(call $~lib/math/NativeMath.log1p
|
||||
(get_local $0)
|
||||
)
|
||||
)
|
||||
(func $~lib/math/NativeMath.log2 (; 42 ;) (type $FF) (param $0 f64) (result f64)
|
||||
(func $~lib/math/NativeMath.log2 (; 43 ;) (type $FF) (param $0 f64) (result f64)
|
||||
(local $1 f64)
|
||||
(local $2 i32)
|
||||
(local $3 f64)
|
||||
@ -4170,24 +4152,24 @@
|
||||
(get_local $1)
|
||||
)
|
||||
)
|
||||
(func $std/libm/log2 (; 43 ;) (type $FF) (param $0 f64) (result f64)
|
||||
(func $std/libm/log2 (; 44 ;) (type $FF) (param $0 f64) (result f64)
|
||||
(call $~lib/math/NativeMath.log2
|
||||
(get_local $0)
|
||||
)
|
||||
)
|
||||
(func $std/libm/max (; 44 ;) (type $FFF) (param $0 f64) (param $1 f64) (result f64)
|
||||
(func $std/libm/max (; 45 ;) (type $FFF) (param $0 f64) (param $1 f64) (result f64)
|
||||
(f64.max
|
||||
(get_local $0)
|
||||
(get_local $1)
|
||||
)
|
||||
)
|
||||
(func $std/libm/min (; 45 ;) (type $FFF) (param $0 f64) (param $1 f64) (result f64)
|
||||
(func $std/libm/min (; 46 ;) (type $FFF) (param $0 f64) (param $1 f64) (result f64)
|
||||
(f64.min
|
||||
(get_local $0)
|
||||
(get_local $1)
|
||||
)
|
||||
)
|
||||
(func $~lib/math/NativeMath.pow (; 46 ;) (type $FFF) (param $0 f64) (param $1 f64) (result f64)
|
||||
(func $~lib/math/NativeMath.pow (; 47 ;) (type $FFF) (param $0 f64) (param $1 f64) (result f64)
|
||||
(local $2 f64)
|
||||
(local $3 f64)
|
||||
(local $4 i32)
|
||||
@ -5586,13 +5568,13 @@
|
||||
(f64.const 1.e+300)
|
||||
)
|
||||
)
|
||||
(func $std/libm/pow (; 47 ;) (type $FFF) (param $0 f64) (param $1 f64) (result f64)
|
||||
(func $std/libm/pow (; 48 ;) (type $FFF) (param $0 f64) (param $1 f64) (result f64)
|
||||
(call $~lib/math/NativeMath.pow
|
||||
(get_local $0)
|
||||
(get_local $1)
|
||||
)
|
||||
)
|
||||
(func $~lib/math/NativeMath.round (; 48 ;) (type $FF) (param $0 f64) (result f64)
|
||||
(func $~lib/math/NativeMath.round (; 49 ;) (type $FF) (param $0 f64) (result f64)
|
||||
(local $1 f64)
|
||||
(local $2 i64)
|
||||
(local $3 i32)
|
||||
@ -5725,12 +5707,12 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(func $std/libm/round (; 49 ;) (type $FF) (param $0 f64) (result f64)
|
||||
(func $std/libm/round (; 50 ;) (type $FF) (param $0 f64) (result f64)
|
||||
(call $~lib/math/NativeMath.round
|
||||
(get_local $0)
|
||||
)
|
||||
)
|
||||
(func $std/libm/sign (; 50 ;) (type $FF) (param $0 f64) (result f64)
|
||||
(func $std/libm/sign (; 51 ;) (type $FF) (param $0 f64) (result f64)
|
||||
(local $1 f64)
|
||||
(select
|
||||
(f64.copysign
|
||||
@ -5748,7 +5730,7 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(func $~lib/math/NativeMath.sinh (; 51 ;) (type $FF) (param $0 f64) (result f64)
|
||||
(func $~lib/math/NativeMath.sinh (; 52 ;) (type $FF) (param $0 f64) (result f64)
|
||||
(local $1 f64)
|
||||
(local $2 f64)
|
||||
(local $3 i64)
|
||||
@ -5867,17 +5849,17 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(func $std/libm/sinh (; 52 ;) (type $FF) (param $0 f64) (result f64)
|
||||
(func $std/libm/sinh (; 53 ;) (type $FF) (param $0 f64) (result f64)
|
||||
(call $~lib/math/NativeMath.sinh
|
||||
(get_local $0)
|
||||
)
|
||||
)
|
||||
(func $std/libm/sqrt (; 53 ;) (type $FF) (param $0 f64) (result f64)
|
||||
(func $std/libm/sqrt (; 54 ;) (type $FF) (param $0 f64) (result f64)
|
||||
(f64.sqrt
|
||||
(get_local $0)
|
||||
)
|
||||
)
|
||||
(func $~lib/math/NativeMath.tanh (; 54 ;) (type $FF) (param $0 f64) (result f64)
|
||||
(func $~lib/math/NativeMath.tanh (; 55 ;) (type $FF) (param $0 f64) (result f64)
|
||||
(local $1 i64)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
@ -6000,12 +5982,12 @@
|
||||
(get_local $3)
|
||||
)
|
||||
)
|
||||
(func $std/libm/tanh (; 55 ;) (type $FF) (param $0 f64) (result f64)
|
||||
(func $std/libm/tanh (; 56 ;) (type $FF) (param $0 f64) (result f64)
|
||||
(call $~lib/math/NativeMath.tanh
|
||||
(get_local $0)
|
||||
)
|
||||
)
|
||||
(func $std/libm/trunc (; 56 ;) (type $FF) (param $0 f64) (result f64)
|
||||
(func $std/libm/trunc (; 57 ;) (type $FF) (param $0 f64) (result f64)
|
||||
(f64.trunc
|
||||
(get_local $0)
|
||||
)
|
||||
|
@ -2,8 +2,9 @@
|
||||
(type $F (func (result f64)))
|
||||
(type $FF (func (param f64) (result f64)))
|
||||
(type $f (func (result f32)))
|
||||
(type $FFF (func (param f64 f64) (result f64)))
|
||||
(type $Fi (func (param f64) (result i32)))
|
||||
(type $i (func (result i32)))
|
||||
(type $FFF (func (param f64 f64) (result f64)))
|
||||
(type $FiF (func (param f64 i32) (result f64)))
|
||||
(type $Ff (func (param f64) (result f32)))
|
||||
(global $std/libm/E f64 (f64.const 2.718281828459045))
|
||||
@ -14,6 +15,7 @@
|
||||
(global $std/libm/PI f64 (f64.const 3.141592653589793))
|
||||
(global $std/libm/SQRT1_2 f64 (f64.const 0.7071067811865476))
|
||||
(global $std/libm/SQRT2 f64 (f64.const 1.4142135623730951))
|
||||
(global $NaN f64 (f64.const nan:0x8000000000000))
|
||||
(global $HEAP_BASE i32 (i32.const 4))
|
||||
(memory $0 1)
|
||||
(export "E" (global $std/libm/E))
|
||||
@ -1553,7 +1555,26 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(func $~lib/math/NativeMath.atan (; 12 ;) (type $FF) (param $0 f64) (result f64)
|
||||
(func $isNaN<f64> (; 12 ;) (type $Fi) (param $0 f64) (result i32)
|
||||
(return
|
||||
(i64.gt_u
|
||||
(i64.and
|
||||
(i64.reinterpret/f64
|
||||
(get_local $0)
|
||||
)
|
||||
(i64.shr_u
|
||||
(i64.const -1)
|
||||
(i64.const 1)
|
||||
)
|
||||
)
|
||||
(i64.shl
|
||||
(i64.const 2047)
|
||||
(i64.const 52)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(func $~lib/math/NativeMath.atan (; 13 ;) (type $FF) (param $0 f64) (result f64)
|
||||
(local $1 i32)
|
||||
(local $2 i32)
|
||||
(local $3 f64)
|
||||
@ -1593,14 +1614,8 @@
|
||||
)
|
||||
(block
|
||||
(if
|
||||
(i64.gt_u
|
||||
(i64.and
|
||||
(i64.reinterpret/f64
|
||||
(get_local $0)
|
||||
)
|
||||
(i64.const 9223372036854775807)
|
||||
)
|
||||
(i64.const 9218868437227405312)
|
||||
(call $isNaN<f64>
|
||||
(get_local $0)
|
||||
)
|
||||
(return
|
||||
(get_local $0)
|
||||
@ -1970,14 +1985,14 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(func $std/libm/atan (; 13 ;) (type $FF) (param $0 f64) (result f64)
|
||||
(func $std/libm/atan (; 14 ;) (type $FF) (param $0 f64) (result f64)
|
||||
(return
|
||||
(call $~lib/math/NativeMath.atan
|
||||
(get_local $0)
|
||||
)
|
||||
)
|
||||
)
|
||||
(func $~lib/math/NativeMath.atanh (; 14 ;) (type $FF) (param $0 f64) (result f64)
|
||||
(func $~lib/math/NativeMath.atanh (; 15 ;) (type $FF) (param $0 f64) (result f64)
|
||||
(local $1 i64)
|
||||
(local $2 i64)
|
||||
(local $3 i64)
|
||||
@ -2087,14 +2102,14 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(func $std/libm/atanh (; 15 ;) (type $FF) (param $0 f64) (result f64)
|
||||
(func $std/libm/atanh (; 16 ;) (type $FF) (param $0 f64) (result f64)
|
||||
(return
|
||||
(call $~lib/math/NativeMath.atanh
|
||||
(get_local $0)
|
||||
)
|
||||
)
|
||||
)
|
||||
(func $~lib/math/NativeMath.atan2 (; 16 ;) (type $FFF) (param $0 f64) (param $1 f64) (result f64)
|
||||
(func $~lib/math/NativeMath.atan2 (; 17 ;) (type $FFF) (param $0 f64) (param $1 f64) (result f64)
|
||||
(local $2 i32)
|
||||
(local $3 i64)
|
||||
(local $4 i32)
|
||||
@ -2108,25 +2123,13 @@
|
||||
(i32.and
|
||||
(if (result i32)
|
||||
(tee_local $2
|
||||
(i64.gt_u
|
||||
(i64.and
|
||||
(i64.reinterpret/f64
|
||||
(get_local $1)
|
||||
)
|
||||
(i64.const 9223372036854775807)
|
||||
)
|
||||
(i64.const 9218868437227405312)
|
||||
(call $isNaN<f64>
|
||||
(get_local $1)
|
||||
)
|
||||
)
|
||||
(get_local $2)
|
||||
(i64.gt_u
|
||||
(i64.and
|
||||
(i64.reinterpret/f64
|
||||
(get_local $0)
|
||||
)
|
||||
(i64.const 9223372036854775807)
|
||||
)
|
||||
(i64.const 9218868437227405312)
|
||||
(call $isNaN<f64>
|
||||
(get_local $0)
|
||||
)
|
||||
)
|
||||
(i32.const 1)
|
||||
@ -2586,7 +2589,7 @@
|
||||
(f64.const 0)
|
||||
)
|
||||
)
|
||||
(func $std/libm/atan2 (; 17 ;) (type $FFF) (param $0 f64) (param $1 f64) (result f64)
|
||||
(func $std/libm/atan2 (; 18 ;) (type $FFF) (param $0 f64) (param $1 f64) (result f64)
|
||||
(return
|
||||
(call $~lib/math/NativeMath.atan2
|
||||
(get_local $0)
|
||||
@ -2594,7 +2597,7 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(func $~lib/math/NativeMath.cbrt (; 18 ;) (type $FF) (param $0 f64) (result f64)
|
||||
(func $~lib/math/NativeMath.cbrt (; 19 ;) (type $FF) (param $0 f64) (result f64)
|
||||
(local $1 i64)
|
||||
(local $2 i32)
|
||||
(local $3 f64)
|
||||
@ -2813,14 +2816,14 @@
|
||||
(get_local $3)
|
||||
)
|
||||
)
|
||||
(func $std/libm/cbrt (; 19 ;) (type $FF) (param $0 f64) (result f64)
|
||||
(func $std/libm/cbrt (; 20 ;) (type $FF) (param $0 f64) (result f64)
|
||||
(return
|
||||
(call $~lib/math/NativeMath.cbrt
|
||||
(get_local $0)
|
||||
)
|
||||
)
|
||||
)
|
||||
(func $std/libm/ceil (; 20 ;) (type $FF) (param $0 f64) (result f64)
|
||||
(func $std/libm/ceil (; 21 ;) (type $FF) (param $0 f64) (result f64)
|
||||
(local $1 f64)
|
||||
(return
|
||||
(block $~lib/math/NativeMath.ceil|inlined.0 (result f64)
|
||||
@ -2835,7 +2838,7 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(func $std/libm/clz32 (; 21 ;) (type $FF) (param $0 f64) (result f64)
|
||||
(func $std/libm/clz32 (; 22 ;) (type $FF) (param $0 f64) (result f64)
|
||||
(local $1 f64)
|
||||
(return
|
||||
(block $~lib/math/NativeMath.clz32|inlined.0 (result f64)
|
||||
@ -2854,20 +2857,20 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(func $~lib/math/NativeMath.cos (; 22 ;) (type $FF) (param $0 f64) (result f64)
|
||||
(func $~lib/math/NativeMath.cos (; 23 ;) (type $FF) (param $0 f64) (result f64)
|
||||
(unreachable)
|
||||
(return
|
||||
(f64.const 0)
|
||||
)
|
||||
)
|
||||
(func $std/libm/cos (; 23 ;) (type $FF) (param $0 f64) (result f64)
|
||||
(func $std/libm/cos (; 24 ;) (type $FF) (param $0 f64) (result f64)
|
||||
(return
|
||||
(call $~lib/math/NativeMath.cos
|
||||
(get_local $0)
|
||||
)
|
||||
)
|
||||
)
|
||||
(func $~lib/math/NativeMath.expm1 (; 24 ;) (type $FF) (param $0 f64) (result f64)
|
||||
(func $~lib/math/NativeMath.expm1 (; 25 ;) (type $FF) (param $0 f64) (result f64)
|
||||
(local $1 i64)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
@ -2920,14 +2923,8 @@
|
||||
)
|
||||
(block
|
||||
(if
|
||||
(i64.gt_u
|
||||
(i64.and
|
||||
(i64.reinterpret/f64
|
||||
(get_local $0)
|
||||
)
|
||||
(i64.const 9223372036854775807)
|
||||
)
|
||||
(i64.const 9218868437227405312)
|
||||
(call $isNaN<f64>
|
||||
(get_local $0)
|
||||
)
|
||||
(return
|
||||
(get_local $0)
|
||||
@ -3364,7 +3361,7 @@
|
||||
(get_local $14)
|
||||
)
|
||||
)
|
||||
(func $~lib/math/NativeMath.scalbn (; 25 ;) (type $FiF) (param $0 f64) (param $1 i32) (result f64)
|
||||
(func $~lib/math/NativeMath.scalbn (; 26 ;) (type $FiF) (param $0 f64) (param $1 i32) (result f64)
|
||||
(local $2 f64)
|
||||
(nop)
|
||||
(set_local $2
|
||||
@ -3485,7 +3482,7 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(func $~lib/math/NativeMath.exp (; 26 ;) (type $FF) (param $0 f64) (result f64)
|
||||
(func $~lib/math/NativeMath.exp (; 27 ;) (type $FF) (param $0 f64) (result f64)
|
||||
(local $1 i32)
|
||||
(local $2 i32)
|
||||
(local $3 f64)
|
||||
@ -3524,14 +3521,8 @@
|
||||
)
|
||||
(block
|
||||
(if
|
||||
(i64.gt_u
|
||||
(i64.and
|
||||
(i64.reinterpret/f64
|
||||
(get_local $0)
|
||||
)
|
||||
(i64.const 9223372036854775807)
|
||||
)
|
||||
(i64.const 9218868437227405312)
|
||||
(call $isNaN<f64>
|
||||
(get_local $0)
|
||||
)
|
||||
(return
|
||||
(get_local $0)
|
||||
@ -3724,7 +3715,7 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(func $~lib/math/expo2 (; 27 ;) (type $FF) (param $0 f64) (result f64)
|
||||
(func $~lib/math/expo2 (; 28 ;) (type $FF) (param $0 f64) (result f64)
|
||||
(local $1 f64)
|
||||
(nop)
|
||||
(set_local $1
|
||||
@ -3761,7 +3752,7 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(func $~lib/math/NativeMath.cosh (; 28 ;) (type $FF) (param $0 f64) (result f64)
|
||||
(func $~lib/math/NativeMath.cosh (; 29 ;) (type $FF) (param $0 f64) (result f64)
|
||||
(local $1 i64)
|
||||
(local $2 i32)
|
||||
(local $3 f64)
|
||||
@ -3870,28 +3861,28 @@
|
||||
(get_local $3)
|
||||
)
|
||||
)
|
||||
(func $std/libm/cosh (; 29 ;) (type $FF) (param $0 f64) (result f64)
|
||||
(func $std/libm/cosh (; 30 ;) (type $FF) (param $0 f64) (result f64)
|
||||
(return
|
||||
(call $~lib/math/NativeMath.cosh
|
||||
(get_local $0)
|
||||
)
|
||||
)
|
||||
)
|
||||
(func $std/libm/exp (; 30 ;) (type $FF) (param $0 f64) (result f64)
|
||||
(func $std/libm/exp (; 31 ;) (type $FF) (param $0 f64) (result f64)
|
||||
(return
|
||||
(call $~lib/math/NativeMath.exp
|
||||
(get_local $0)
|
||||
)
|
||||
)
|
||||
)
|
||||
(func $std/libm/expm1 (; 31 ;) (type $FF) (param $0 f64) (result f64)
|
||||
(func $std/libm/expm1 (; 32 ;) (type $FF) (param $0 f64) (result f64)
|
||||
(return
|
||||
(call $~lib/math/NativeMath.expm1
|
||||
(get_local $0)
|
||||
)
|
||||
)
|
||||
)
|
||||
(func $std/libm/floor (; 32 ;) (type $FF) (param $0 f64) (result f64)
|
||||
(func $std/libm/floor (; 33 ;) (type $FF) (param $0 f64) (result f64)
|
||||
(local $1 f64)
|
||||
(return
|
||||
(block $~lib/math/NativeMath.floor|inlined.0 (result f64)
|
||||
@ -3906,7 +3897,7 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(func $std/libm/fround (; 33 ;) (type $Ff) (param $0 f64) (result f32)
|
||||
(func $std/libm/fround (; 34 ;) (type $Ff) (param $0 f64) (result f32)
|
||||
(local $1 f64)
|
||||
(return
|
||||
(block $~lib/math/NativeMath.fround|inlined.0 (result f32)
|
||||
@ -3921,7 +3912,7 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(func $~lib/math/NativeMath.hypot (; 34 ;) (type $FFF) (param $0 f64) (param $1 f64) (result f64)
|
||||
(func $~lib/math/NativeMath.hypot (; 35 ;) (type $FFF) (param $0 f64) (param $1 f64) (result f64)
|
||||
(local $2 i64)
|
||||
(local $3 i64)
|
||||
(local $4 i64)
|
||||
@ -4222,7 +4213,7 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(func $std/libm/hypot (; 35 ;) (type $FFF) (param $0 f64) (param $1 f64) (result f64)
|
||||
(func $std/libm/hypot (; 36 ;) (type $FFF) (param $0 f64) (param $1 f64) (result f64)
|
||||
(return
|
||||
(call $~lib/math/NativeMath.hypot
|
||||
(get_local $0)
|
||||
@ -4230,7 +4221,7 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(func $~lib/math/NativeMath.imul (; 36 ;) (type $FFF) (param $0 f64) (param $1 f64) (result f64)
|
||||
(func $~lib/math/NativeMath.imul (; 37 ;) (type $FFF) (param $0 f64) (param $1 f64) (result f64)
|
||||
(return
|
||||
(f64.convert_s/i32
|
||||
(i32.mul
|
||||
@ -4244,7 +4235,7 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(func $std/libm/imul (; 37 ;) (type $FFF) (param $0 f64) (param $1 f64) (result f64)
|
||||
(func $std/libm/imul (; 38 ;) (type $FFF) (param $0 f64) (param $1 f64) (result f64)
|
||||
(return
|
||||
(call $~lib/math/NativeMath.imul
|
||||
(get_local $0)
|
||||
@ -4252,14 +4243,14 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(func $std/libm/log (; 38 ;) (type $FF) (param $0 f64) (result f64)
|
||||
(func $std/libm/log (; 39 ;) (type $FF) (param $0 f64) (result f64)
|
||||
(return
|
||||
(call $~lib/math/NativeMath.log
|
||||
(get_local $0)
|
||||
)
|
||||
)
|
||||
)
|
||||
(func $~lib/math/NativeMath.log10 (; 39 ;) (type $FF) (param $0 f64) (result f64)
|
||||
(func $~lib/math/NativeMath.log10 (; 40 ;) (type $FF) (param $0 f64) (result f64)
|
||||
(local $1 i64)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
@ -4648,21 +4639,21 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(func $std/libm/log10 (; 40 ;) (type $FF) (param $0 f64) (result f64)
|
||||
(func $std/libm/log10 (; 41 ;) (type $FF) (param $0 f64) (result f64)
|
||||
(return
|
||||
(call $~lib/math/NativeMath.log10
|
||||
(get_local $0)
|
||||
)
|
||||
)
|
||||
)
|
||||
(func $std/libm/log1p (; 41 ;) (type $FF) (param $0 f64) (result f64)
|
||||
(func $std/libm/log1p (; 42 ;) (type $FF) (param $0 f64) (result f64)
|
||||
(return
|
||||
(call $~lib/math/NativeMath.log1p
|
||||
(get_local $0)
|
||||
)
|
||||
)
|
||||
)
|
||||
(func $~lib/math/NativeMath.log2 (; 42 ;) (type $FF) (param $0 f64) (result f64)
|
||||
(func $~lib/math/NativeMath.log2 (; 43 ;) (type $FF) (param $0 f64) (result f64)
|
||||
(local $1 i64)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
@ -5038,14 +5029,14 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(func $std/libm/log2 (; 43 ;) (type $FF) (param $0 f64) (result f64)
|
||||
(func $std/libm/log2 (; 44 ;) (type $FF) (param $0 f64) (result f64)
|
||||
(return
|
||||
(call $~lib/math/NativeMath.log2
|
||||
(get_local $0)
|
||||
)
|
||||
)
|
||||
)
|
||||
(func $std/libm/max (; 44 ;) (type $FFF) (param $0 f64) (param $1 f64) (result f64)
|
||||
(func $std/libm/max (; 45 ;) (type $FFF) (param $0 f64) (param $1 f64) (result f64)
|
||||
(local $2 f64)
|
||||
(local $3 f64)
|
||||
(return
|
||||
@ -5065,7 +5056,7 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(func $std/libm/min (; 45 ;) (type $FFF) (param $0 f64) (param $1 f64) (result f64)
|
||||
(func $std/libm/min (; 46 ;) (type $FFF) (param $0 f64) (param $1 f64) (result f64)
|
||||
(local $2 f64)
|
||||
(local $3 f64)
|
||||
(return
|
||||
@ -5085,7 +5076,7 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(func $~lib/math/NativeMath.pow (; 46 ;) (type $FFF) (param $0 f64) (param $1 f64) (result f64)
|
||||
(func $~lib/math/NativeMath.pow (; 47 ;) (type $FFF) (param $0 f64) (param $1 f64) (result f64)
|
||||
(local $2 i64)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
@ -6664,7 +6655,7 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(func $std/libm/pow (; 47 ;) (type $FFF) (param $0 f64) (param $1 f64) (result f64)
|
||||
(func $std/libm/pow (; 48 ;) (type $FFF) (param $0 f64) (param $1 f64) (result f64)
|
||||
(return
|
||||
(call $~lib/math/NativeMath.pow
|
||||
(get_local $0)
|
||||
@ -6672,7 +6663,7 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(func $~lib/math/NativeMath.round (; 48 ;) (type $FF) (param $0 f64) (result f64)
|
||||
(func $~lib/math/NativeMath.round (; 49 ;) (type $FF) (param $0 f64) (result f64)
|
||||
(local $1 i64)
|
||||
(local $2 i32)
|
||||
(local $3 f64)
|
||||
@ -6834,14 +6825,14 @@
|
||||
(get_local $3)
|
||||
)
|
||||
)
|
||||
(func $std/libm/round (; 49 ;) (type $FF) (param $0 f64) (result f64)
|
||||
(func $std/libm/round (; 50 ;) (type $FF) (param $0 f64) (result f64)
|
||||
(return
|
||||
(call $~lib/math/NativeMath.round
|
||||
(get_local $0)
|
||||
)
|
||||
)
|
||||
)
|
||||
(func $std/libm/sign (; 50 ;) (type $FF) (param $0 f64) (result f64)
|
||||
(func $std/libm/sign (; 51 ;) (type $FF) (param $0 f64) (result f64)
|
||||
(local $1 f64)
|
||||
(return
|
||||
(block $~lib/math/NativeMath.sign|inlined.0 (result f64)
|
||||
@ -6866,20 +6857,20 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(func $~lib/math/NativeMath.sin (; 51 ;) (type $FF) (param $0 f64) (result f64)
|
||||
(func $~lib/math/NativeMath.sin (; 52 ;) (type $FF) (param $0 f64) (result f64)
|
||||
(unreachable)
|
||||
(return
|
||||
(f64.const 0)
|
||||
)
|
||||
)
|
||||
(func $std/libm/sin (; 52 ;) (type $FF) (param $0 f64) (result f64)
|
||||
(func $std/libm/sin (; 53 ;) (type $FF) (param $0 f64) (result f64)
|
||||
(return
|
||||
(call $~lib/math/NativeMath.sin
|
||||
(get_local $0)
|
||||
)
|
||||
)
|
||||
)
|
||||
(func $~lib/math/NativeMath.sinh (; 53 ;) (type $FF) (param $0 f64) (result f64)
|
||||
(func $~lib/math/NativeMath.sinh (; 54 ;) (type $FF) (param $0 f64) (result f64)
|
||||
(local $1 i64)
|
||||
(local $2 f64)
|
||||
(local $3 f64)
|
||||
@ -7014,14 +7005,14 @@
|
||||
(get_local $5)
|
||||
)
|
||||
)
|
||||
(func $std/libm/sinh (; 54 ;) (type $FF) (param $0 f64) (result f64)
|
||||
(func $std/libm/sinh (; 55 ;) (type $FF) (param $0 f64) (result f64)
|
||||
(return
|
||||
(call $~lib/math/NativeMath.sinh
|
||||
(get_local $0)
|
||||
)
|
||||
)
|
||||
)
|
||||
(func $std/libm/sqrt (; 55 ;) (type $FF) (param $0 f64) (result f64)
|
||||
(func $std/libm/sqrt (; 56 ;) (type $FF) (param $0 f64) (result f64)
|
||||
(local $1 f64)
|
||||
(return
|
||||
(block $~lib/math/NativeMath.sqrt|inlined.0 (result f64)
|
||||
@ -7036,20 +7027,20 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(func $~lib/math/NativeMath.tan (; 56 ;) (type $FF) (param $0 f64) (result f64)
|
||||
(func $~lib/math/NativeMath.tan (; 57 ;) (type $FF) (param $0 f64) (result f64)
|
||||
(unreachable)
|
||||
(return
|
||||
(f64.const 0)
|
||||
)
|
||||
)
|
||||
(func $std/libm/tan (; 57 ;) (type $FF) (param $0 f64) (result f64)
|
||||
(func $std/libm/tan (; 58 ;) (type $FF) (param $0 f64) (result f64)
|
||||
(return
|
||||
(call $~lib/math/NativeMath.tan
|
||||
(get_local $0)
|
||||
)
|
||||
)
|
||||
)
|
||||
(func $~lib/math/NativeMath.tanh (; 58 ;) (type $FF) (param $0 f64) (result f64)
|
||||
(func $~lib/math/NativeMath.tanh (; 59 ;) (type $FF) (param $0 f64) (result f64)
|
||||
(local $1 i64)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
@ -7195,14 +7186,14 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(func $std/libm/tanh (; 59 ;) (type $FF) (param $0 f64) (result f64)
|
||||
(func $std/libm/tanh (; 60 ;) (type $FF) (param $0 f64) (result f64)
|
||||
(return
|
||||
(call $~lib/math/NativeMath.tanh
|
||||
(get_local $0)
|
||||
)
|
||||
)
|
||||
)
|
||||
(func $std/libm/trunc (; 60 ;) (type $FF) (param $0 f64) (result f64)
|
||||
(func $std/libm/trunc (; 61 ;) (type $FF) (param $0 f64) (result f64)
|
||||
(local $1 f64)
|
||||
(return
|
||||
(block $~lib/math/NativeMath.trunc|inlined.0 (result f64)
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -1,10 +1,12 @@
|
||||
(module
|
||||
(type $FFFi (func (param f64 f64 f64) (result i32)))
|
||||
(type $FFF (func (param f64 f64) (result f64)))
|
||||
(type $Fi (func (param f64) (result i32)))
|
||||
(type $FFi (func (param f64 f64) (result i32)))
|
||||
(type $iiiiv (func (param i32 i32 i32 i32)))
|
||||
(type $fffi (func (param f32 f32 f32) (result i32)))
|
||||
(type $fff (func (param f32 f32) (result f32)))
|
||||
(type $fi (func (param f32) (result i32)))
|
||||
(type $ffi (func (param f32 f32) (result i32)))
|
||||
(type $v (func))
|
||||
(import "JSOp" "mod" (func $std/mod/JSOp.mod (param f64 f64) (result f64)))
|
||||
@ -13,7 +15,18 @@
|
||||
(data (i32.const 4) "\n\00\00\00s\00t\00d\00/\00m\00o\00d\00.\00t\00s")
|
||||
(export "memory" (memory $0))
|
||||
(start $start)
|
||||
(func $~lib/math/NativeMath.mod (; 2 ;) (type $FFF) (param $0 f64) (param $1 f64) (result f64)
|
||||
(func $isNaN<f64> (; 2 ;) (type $Fi) (param $0 f64) (result i32)
|
||||
(i64.gt_u
|
||||
(i64.and
|
||||
(i64.reinterpret/f64
|
||||
(get_local $0)
|
||||
)
|
||||
(i64.const 9223372036854775807)
|
||||
)
|
||||
(i64.const 9218868437227405312)
|
||||
)
|
||||
)
|
||||
(func $~lib/math/NativeMath.mod (; 3 ;) (type $FFF) (param $0 f64) (param $1 f64) (result f64)
|
||||
(local $2 i64)
|
||||
(local $3 i32)
|
||||
(local $4 i64)
|
||||
@ -67,14 +80,8 @@
|
||||
)
|
||||
)
|
||||
(get_local $7)
|
||||
(i64.gt_u
|
||||
(i64.and
|
||||
(i64.reinterpret/f64
|
||||
(get_local $1)
|
||||
)
|
||||
(i64.const 9223372036854775807)
|
||||
)
|
||||
(i64.const 9218868437227405312)
|
||||
(call $isNaN<f64>
|
||||
(get_local $1)
|
||||
)
|
||||
)
|
||||
(i32.const 1)
|
||||
@ -387,26 +394,14 @@
|
||||
(get_local $0)
|
||||
)
|
||||
)
|
||||
(func $std/mod/check<f64> (; 3 ;) (type $FFi) (param $0 f64) (param $1 f64) (result i32)
|
||||
(func $std/mod/check<f64> (; 4 ;) (type $FFi) (param $0 f64) (param $1 f64) (result i32)
|
||||
(if
|
||||
(i64.gt_u
|
||||
(i64.and
|
||||
(i64.reinterpret/f64
|
||||
(get_local $1)
|
||||
)
|
||||
(i64.const 9223372036854775807)
|
||||
)
|
||||
(i64.const 9218868437227405312)
|
||||
(call $isNaN<f64>
|
||||
(get_local $1)
|
||||
)
|
||||
(return
|
||||
(i64.gt_u
|
||||
(i64.and
|
||||
(i64.reinterpret/f64
|
||||
(get_local $0)
|
||||
)
|
||||
(i64.const 9223372036854775807)
|
||||
)
|
||||
(i64.const 9218868437227405312)
|
||||
(call $isNaN<f64>
|
||||
(get_local $0)
|
||||
)
|
||||
)
|
||||
)
|
||||
@ -433,7 +428,7 @@
|
||||
(get_local $1)
|
||||
)
|
||||
)
|
||||
(func $std/mod/test_fmod (; 4 ;) (type $FFFi) (param $0 f64) (param $1 f64) (param $2 f64) (result i32)
|
||||
(func $std/mod/test_fmod (; 5 ;) (type $FFFi) (param $0 f64) (param $1 f64) (param $2 f64) (result i32)
|
||||
(local $3 i32)
|
||||
(i32.and
|
||||
(if (result i32)
|
||||
@ -464,7 +459,20 @@
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
(func $~lib/math/NativeMathf.mod (; 5 ;) (type $fff) (param $0 f32) (param $1 f32) (result f32)
|
||||
(func $isNaN<f32> (; 6 ;) (type $fi) (param $0 f32) (result i32)
|
||||
(i64.gt_u
|
||||
(i64.and
|
||||
(i64.reinterpret/f64
|
||||
(f64.promote/f32
|
||||
(get_local $0)
|
||||
)
|
||||
)
|
||||
(i64.const 9223372036854775807)
|
||||
)
|
||||
(i64.const 9218868437227405312)
|
||||
)
|
||||
)
|
||||
(func $~lib/math/NativeMathf.mod (; 7 ;) (type $fff) (param $0 f32) (param $1 f32) (result f32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
@ -513,14 +521,8 @@
|
||||
)
|
||||
)
|
||||
(get_local $3)
|
||||
(i32.gt_u
|
||||
(i32.and
|
||||
(i32.reinterpret/f32
|
||||
(get_local $1)
|
||||
)
|
||||
(i32.const 2147483647)
|
||||
)
|
||||
(i32.const 2139095040)
|
||||
(call $isNaN<f32>
|
||||
(get_local $1)
|
||||
)
|
||||
)
|
||||
(i32.const 1)
|
||||
@ -818,26 +820,14 @@
|
||||
(get_local $0)
|
||||
)
|
||||
)
|
||||
(func $std/mod/check<f32> (; 6 ;) (type $ffi) (param $0 f32) (param $1 f32) (result i32)
|
||||
(func $std/mod/check<f32> (; 8 ;) (type $ffi) (param $0 f32) (param $1 f32) (result i32)
|
||||
(if
|
||||
(i32.gt_u
|
||||
(i32.and
|
||||
(i32.reinterpret/f32
|
||||
(get_local $1)
|
||||
)
|
||||
(i32.const 2147483647)
|
||||
)
|
||||
(i32.const 2139095040)
|
||||
(call $isNaN<f32>
|
||||
(get_local $1)
|
||||
)
|
||||
(return
|
||||
(i32.gt_u
|
||||
(i32.and
|
||||
(i32.reinterpret/f32
|
||||
(get_local $0)
|
||||
)
|
||||
(i32.const 2147483647)
|
||||
)
|
||||
(i32.const 2139095040)
|
||||
(call $isNaN<f32>
|
||||
(get_local $0)
|
||||
)
|
||||
)
|
||||
)
|
||||
@ -864,7 +854,7 @@
|
||||
(get_local $1)
|
||||
)
|
||||
)
|
||||
(func $std/mod/test_fmodf (; 7 ;) (type $fffi) (param $0 f32) (param $1 f32) (param $2 f32) (result i32)
|
||||
(func $std/mod/test_fmodf (; 9 ;) (type $fffi) (param $0 f32) (param $1 f32) (param $2 f32) (result i32)
|
||||
(call $std/mod/check<f32>
|
||||
(call $~lib/math/NativeMathf.mod
|
||||
(get_local $0)
|
||||
@ -873,7 +863,7 @@
|
||||
(get_local $2)
|
||||
)
|
||||
)
|
||||
(func $start (; 8 ;) (type $v)
|
||||
(func $start (; 10 ;) (type $v)
|
||||
(if
|
||||
(i32.eqz
|
||||
(call $std/mod/test_fmod
|
||||
|
@ -1,22 +1,46 @@
|
||||
(module
|
||||
(type $FFFi (func (param f64 f64 f64) (result i32)))
|
||||
(type $FFF (func (param f64 f64) (result f64)))
|
||||
(type $FFi (func (param f64 f64) (result i32)))
|
||||
(type $Fi (func (param f64) (result i32)))
|
||||
(type $i (func (result i32)))
|
||||
(type $FFi (func (param f64 f64) (result i32)))
|
||||
(type $iiiiv (func (param i32 i32 i32 i32)))
|
||||
(type $F (func (result f64)))
|
||||
(type $fffi (func (param f32 f32 f32) (result i32)))
|
||||
(type $fff (func (param f32 f32) (result f32)))
|
||||
(type $fi (func (param f32) (result i32)))
|
||||
(type $ffi (func (param f32 f32) (result i32)))
|
||||
(type $v (func))
|
||||
(import "JSOp" "mod" (func $std/mod/JSOp.mod (param f64 f64) (result f64)))
|
||||
(import "env" "abort" (func $abort (param i32 i32 i32 i32)))
|
||||
(global $std/mod/js i32 (i32.const 1))
|
||||
(global $NaN f64 (f64.const nan:0x8000000000000))
|
||||
(global $Infinity f64 (f64.const inf))
|
||||
(global $HEAP_BASE i32 (i32.const 28))
|
||||
(memory $0 1)
|
||||
(data (i32.const 4) "\n\00\00\00s\00t\00d\00/\00m\00o\00d\00.\00t\00s\00")
|
||||
(export "memory" (memory $0))
|
||||
(start $start)
|
||||
(func $~lib/math/NativeMath.mod (; 2 ;) (type $FFF) (param $0 f64) (param $1 f64) (result f64)
|
||||
(func $isNaN<f64> (; 2 ;) (type $Fi) (param $0 f64) (result i32)
|
||||
(return
|
||||
(i64.gt_u
|
||||
(i64.and
|
||||
(i64.reinterpret/f64
|
||||
(get_local $0)
|
||||
)
|
||||
(i64.shr_u
|
||||
(i64.const -1)
|
||||
(i64.const 1)
|
||||
)
|
||||
)
|
||||
(i64.shl
|
||||
(i64.const 2047)
|
||||
(i64.const 52)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(func $~lib/math/NativeMath.mod (; 3 ;) (type $FFF) (param $0 f64) (param $1 f64) (result f64)
|
||||
(local $2 i64)
|
||||
(local $3 i64)
|
||||
(local $4 i32)
|
||||
@ -80,14 +104,8 @@
|
||||
)
|
||||
)
|
||||
(get_local $7)
|
||||
(i64.gt_u
|
||||
(i64.and
|
||||
(i64.reinterpret/f64
|
||||
(get_local $1)
|
||||
)
|
||||
(i64.const 9223372036854775807)
|
||||
)
|
||||
(i64.const 9218868437227405312)
|
||||
(call $isNaN<f64>
|
||||
(get_local $1)
|
||||
)
|
||||
)
|
||||
(i32.const 1)
|
||||
@ -473,26 +491,14 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(func $std/mod/check<f64> (; 3 ;) (type $FFi) (param $0 f64) (param $1 f64) (result i32)
|
||||
(func $std/mod/check<f64> (; 4 ;) (type $FFi) (param $0 f64) (param $1 f64) (result i32)
|
||||
(if
|
||||
(i64.gt_u
|
||||
(i64.and
|
||||
(i64.reinterpret/f64
|
||||
(get_local $1)
|
||||
)
|
||||
(i64.const 9223372036854775807)
|
||||
)
|
||||
(i64.const 9218868437227405312)
|
||||
(call $isNaN<f64>
|
||||
(get_local $1)
|
||||
)
|
||||
(return
|
||||
(i64.gt_u
|
||||
(i64.and
|
||||
(i64.reinterpret/f64
|
||||
(get_local $0)
|
||||
)
|
||||
(i64.const 9223372036854775807)
|
||||
)
|
||||
(i64.const 9218868437227405312)
|
||||
(call $isNaN<f64>
|
||||
(get_local $0)
|
||||
)
|
||||
)
|
||||
)
|
||||
@ -523,7 +529,7 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(func $std/mod/test_fmod (; 4 ;) (type $FFFi) (param $0 f64) (param $1 f64) (param $2 f64) (result i32)
|
||||
(func $std/mod/test_fmod (; 5 ;) (type $FFFi) (param $0 f64) (param $1 f64) (param $2 f64) (result i32)
|
||||
(local $3 i32)
|
||||
(return
|
||||
(i32.and
|
||||
@ -558,7 +564,28 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(func $~lib/math/NativeMathf.mod (; 5 ;) (type $fff) (param $0 f32) (param $1 f32) (result f32)
|
||||
(func $isNaN<f32> (; 6 ;) (type $fi) (param $0 f32) (result i32)
|
||||
(return
|
||||
(i64.gt_u
|
||||
(i64.and
|
||||
(i64.reinterpret/f64
|
||||
(f64.promote/f32
|
||||
(get_local $0)
|
||||
)
|
||||
)
|
||||
(i64.shr_u
|
||||
(i64.const -1)
|
||||
(i64.const 1)
|
||||
)
|
||||
)
|
||||
(i64.shl
|
||||
(i64.const 2047)
|
||||
(i64.const 52)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(func $~lib/math/NativeMathf.mod (; 7 ;) (type $fff) (param $0 f32) (param $1 f32) (result f32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
@ -616,14 +643,8 @@
|
||||
)
|
||||
)
|
||||
(get_local $7)
|
||||
(i32.gt_u
|
||||
(i32.and
|
||||
(i32.reinterpret/f32
|
||||
(get_local $1)
|
||||
)
|
||||
(i32.const 2147483647)
|
||||
)
|
||||
(i32.const 2139095040)
|
||||
(call $isNaN<f32>
|
||||
(get_local $1)
|
||||
)
|
||||
)
|
||||
(i32.const 1)
|
||||
@ -996,26 +1017,14 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(func $std/mod/check<f32> (; 6 ;) (type $ffi) (param $0 f32) (param $1 f32) (result i32)
|
||||
(func $std/mod/check<f32> (; 8 ;) (type $ffi) (param $0 f32) (param $1 f32) (result i32)
|
||||
(if
|
||||
(i32.gt_u
|
||||
(i32.and
|
||||
(i32.reinterpret/f32
|
||||
(get_local $1)
|
||||
)
|
||||
(i32.const 2147483647)
|
||||
)
|
||||
(i32.const 2139095040)
|
||||
(call $isNaN<f32>
|
||||
(get_local $1)
|
||||
)
|
||||
(return
|
||||
(i32.gt_u
|
||||
(i32.and
|
||||
(i32.reinterpret/f32
|
||||
(get_local $0)
|
||||
)
|
||||
(i32.const 2147483647)
|
||||
)
|
||||
(i32.const 2139095040)
|
||||
(call $isNaN<f32>
|
||||
(get_local $0)
|
||||
)
|
||||
)
|
||||
)
|
||||
@ -1046,7 +1055,7 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(func $std/mod/test_fmodf (; 7 ;) (type $fffi) (param $0 f32) (param $1 f32) (param $2 f32) (result i32)
|
||||
(func $std/mod/test_fmodf (; 9 ;) (type $fffi) (param $0 f32) (param $1 f32) (param $2 f32) (result i32)
|
||||
(return
|
||||
(call $std/mod/check<f32>
|
||||
(call $~lib/math/NativeMathf.mod
|
||||
@ -1057,7 +1066,7 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(func $start (; 8 ;) (type $v)
|
||||
(func $start (; 10 ;) (type $v)
|
||||
(if
|
||||
(i32.eqz
|
||||
(call $std/mod/test_fmod
|
||||
|
@ -32,6 +32,7 @@
|
||||
(global $std/operator-overloading/f (mut i32) (i32.const 0))
|
||||
(global $std/operator-overloading/p1 (mut i32) (i32.const 0))
|
||||
(global $std/operator-overloading/p2 (mut i32) (i32.const 0))
|
||||
(global $NaN f64 (f64.const nan:0x8000000000000))
|
||||
(global $std/operator-overloading/p (mut i32) (i32.const 0))
|
||||
(global $std/operator-overloading/n1 (mut i32) (i32.const 0))
|
||||
(global $std/operator-overloading/n2 (mut i32) (i32.const 0))
|
||||
|
@ -4,6 +4,7 @@
|
||||
(type $iii (func (param i32 i32) (result i32)))
|
||||
(type $iiii (func (param i32 i32 i32) (result i32)))
|
||||
(type $iiF (func (param i32 i32) (result f64)))
|
||||
(type $F (func (result f64)))
|
||||
(type $iF (func (param i32) (result f64)))
|
||||
(type $ii (func (param i32) (result i32)))
|
||||
(type $iiiv (func (param i32 i32 i32)))
|
||||
@ -20,6 +21,7 @@
|
||||
(global $~lib/internal/string/HEADER_SIZE i32 (i32.const 4))
|
||||
(global $argumentCount (mut i32) (i32.const 0))
|
||||
(global $~lib/internal/string/MAX_LENGTH i32 (i32.const 536870910))
|
||||
(global $NaN f64 (f64.const nan:0x8000000000000))
|
||||
(global $~lib/internal/string/CharCode.PLUS i32 (i32.const 43))
|
||||
(global $~lib/internal/string/CharCode.MINUS i32 (i32.const 45))
|
||||
(global $~lib/internal/string/CharCode.DOT i32 (i32.const 46))
|
||||
|
Reference in New Issue
Block a user