mirror of
https://github.com/fluencelabs/assemblyscript
synced 2025-06-18 01:11:32 +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)
|
||||
)
|
||||
|
Reference in New Issue
Block a user