mirror of
https://github.com/fluencelabs/assemblyscript
synced 2025-04-26 07:22:21 +00:00
Refactor number and string utils out of builtins, fixes #608
This commit is contained in:
parent
0484a6b740
commit
4680b530fb
@ -83,7 +83,7 @@
|
|||||||
},
|
},
|
||||||
"runtime": {
|
"runtime": {
|
||||||
"description": [
|
"description": [
|
||||||
"Specifies the runtime implementation to include in the program.",
|
"Specifies the runtime variant to include in the program.",
|
||||||
"",
|
"",
|
||||||
" full Default runtime based on TLSF and reference counting.",
|
" full Default runtime based on TLSF and reference counting.",
|
||||||
" half Same as 'full', but not exported to the host.",
|
" half Same as 'full', but not exported to the host.",
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
@assemblyscript/i64
|
#  i64
|
||||||
===================
|
|
||||||
|
|
||||||
Exposes WebAssembly's i64 operations to JavaScript using 32-bit integers (low and high bits).
|
Exposes WebAssembly's i64 operations to JavaScript using 32-bit integers (low and high bits).
|
||||||
|
|
||||||
|
@ -1,11 +1,3 @@
|
|||||||
// @ts-ignore: decorator
|
|
||||||
@builtin @inline
|
|
||||||
export const NaN: f64 = 0 / 0;
|
|
||||||
|
|
||||||
// @ts-ignore: decorator
|
|
||||||
@builtin @inline
|
|
||||||
export const Infinity: f64 = 1 / 0;
|
|
||||||
|
|
||||||
// @ts-ignore: decorator
|
// @ts-ignore: decorator
|
||||||
@builtin
|
@builtin
|
||||||
export declare function isInteger<T>(value?: T): bool;
|
export declare function isInteger<T>(value?: T): bool;
|
||||||
@ -58,20 +50,6 @@ export declare function isConstant(expression: void): bool;
|
|||||||
@builtin
|
@builtin
|
||||||
export declare function isManaged<T>(value?: T): bool;
|
export declare function isManaged<T>(value?: T): bool;
|
||||||
|
|
||||||
export function isNaN<T extends number>(value: T): bool {
|
|
||||||
if (!isFloat<T>()) {
|
|
||||||
if (!isInteger<T>()) ERROR("numeric type expected");
|
|
||||||
}
|
|
||||||
return value != value;
|
|
||||||
}
|
|
||||||
|
|
||||||
export function isFinite<T extends number>(value: T): bool {
|
|
||||||
if (!isFloat<T>()) {
|
|
||||||
if (!isInteger<T>()) ERROR("numeric type expected");
|
|
||||||
}
|
|
||||||
return value - value == 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
// @ts-ignore: decorator
|
// @ts-ignore: decorator
|
||||||
@builtin
|
@builtin
|
||||||
export declare function clz<T>(value: T): T;
|
export declare function clz<T>(value: T): T;
|
||||||
|
@ -1,5 +1,26 @@
|
|||||||
import { itoa, dtoa } from "./util/number";
|
import { itoa, dtoa } from "./util/number";
|
||||||
import { isNaN as builtin_isNaN, isFinite as builtin_isFinite } from "./builtins";
|
|
||||||
|
// @ts-ignore: decorator
|
||||||
|
@builtin @inline
|
||||||
|
export const NaN: f64 = 0 / 0;
|
||||||
|
|
||||||
|
// @ts-ignore: decorator
|
||||||
|
@builtin @inline
|
||||||
|
export const Infinity: f64 = 1 / 0;
|
||||||
|
|
||||||
|
export function isNaN<T extends number>(value: T): bool {
|
||||||
|
if (!isFloat<T>()) {
|
||||||
|
if (!isInteger<T>()) ERROR("numeric type expected");
|
||||||
|
}
|
||||||
|
return value != value;
|
||||||
|
}
|
||||||
|
|
||||||
|
export function isFinite<T extends number>(value: T): bool {
|
||||||
|
if (!isFloat<T>()) {
|
||||||
|
if (!isInteger<T>()) ERROR("numeric type expected");
|
||||||
|
}
|
||||||
|
return value - value == 0;
|
||||||
|
}
|
||||||
|
|
||||||
@sealed @unmanaged
|
@sealed @unmanaged
|
||||||
export abstract class I8 {
|
export abstract class I8 {
|
||||||
@ -331,11 +352,11 @@ export abstract class F64 {
|
|||||||
static readonly NaN: f64 = NaN;
|
static readonly NaN: f64 = NaN;
|
||||||
|
|
||||||
static isNaN(value: f64): bool {
|
static isNaN(value: f64): bool {
|
||||||
return builtin_isNaN<f64>(value);
|
return isNaN<f64>(value);
|
||||||
}
|
}
|
||||||
|
|
||||||
static isFinite(value: f64): bool {
|
static isFinite(value: f64): bool {
|
||||||
return builtin_isFinite<f64>(value);
|
return isFinite<f64>(value);
|
||||||
}
|
}
|
||||||
|
|
||||||
static isSafeInteger(value: f64): bool {
|
static isSafeInteger(value: f64): bool {
|
||||||
@ -343,7 +364,7 @@ export abstract class F64 {
|
|||||||
}
|
}
|
||||||
|
|
||||||
static isInteger(value: f64): bool {
|
static isInteger(value: f64): bool {
|
||||||
return builtin_isFinite<f64>(value) && trunc<f64>(value) == value;
|
return isFinite<f64>(value) && trunc<f64>(value) == value;
|
||||||
}
|
}
|
||||||
|
|
||||||
static parseInt(value: string, radix: i32 = 0): f64 {
|
static parseInt(value: string, radix: i32 = 0): f64 {
|
||||||
@ -354,7 +375,7 @@ export abstract class F64 {
|
|||||||
return parseFloat(value);
|
return parseFloat(value);
|
||||||
}
|
}
|
||||||
|
|
||||||
toString(this: f64): String {
|
toString(this: f64, radix: i32 = 0): String {
|
||||||
// TODO: radix
|
// TODO: radix
|
||||||
return dtoa(this);
|
return dtoa(this);
|
||||||
}
|
}
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
/// <reference path="./rt/index.d.ts" />
|
/// <reference path="./rt/index.d.ts" />
|
||||||
|
|
||||||
import { BLOCK, BLOCK_OVERHEAD, BLOCK_MAXSIZE } from "./rt/common";
|
import { BLOCK, BLOCK_OVERHEAD, BLOCK_MAXSIZE } from "./rt/common";
|
||||||
import { compareImpl, parse, CharCode, isWhiteSpaceOrLineTerminator } from "./util/string";
|
import { compareImpl, strtol, strtod, isWhiteSpaceOrLineTerminator } from "./util/string";
|
||||||
import { E_INVALIDLENGTH } from "./util/error";
|
import { E_INVALIDLENGTH } from "./util/error";
|
||||||
import { ArrayBufferView } from "./arraybuffer";
|
import { ArrayBufferView } from "./arraybuffer";
|
||||||
import { idof } from "./builtins";
|
import { idof } from "./builtins";
|
||||||
@ -522,72 +522,10 @@ import { idof } from "./builtins";
|
|||||||
// @ts-ignore: nolib
|
// @ts-ignore: nolib
|
||||||
export type string = String;
|
export type string = String;
|
||||||
|
|
||||||
export function parseInt(str: String, radix: i32 = 0): f64 {
|
export function parseInt(str: string, radix: i32 = 0): f64 {
|
||||||
// @ts-ignore: string <-> String
|
return strtol<f64>(str, radix);
|
||||||
return parse<f64>(str, radix);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export function parseI32(str: String, radix: i32 = 0): i32 {
|
export function parseFloat(str: string): f64 {
|
||||||
// @ts-ignore: string <-> String
|
return strtod(str);
|
||||||
return parse<i32>(str, radix);
|
|
||||||
}
|
|
||||||
|
|
||||||
export function parseI64(str: String, radix: i32 = 0): i64 {
|
|
||||||
// @ts-ignore: string <-> String
|
|
||||||
return parse<i64>(str, radix);
|
|
||||||
}
|
|
||||||
|
|
||||||
// FIXME: naive implementation
|
|
||||||
export function parseFloat(str: String): f64 {
|
|
||||||
var len: i32 = str.length;
|
|
||||||
if (!len) return NaN;
|
|
||||||
|
|
||||||
var ptr = changetype<usize>(str);
|
|
||||||
var code = <i32>load<u16>(ptr);
|
|
||||||
|
|
||||||
// determine sign
|
|
||||||
var sign: f64;
|
|
||||||
// trim white spaces
|
|
||||||
while (isWhiteSpaceOrLineTerminator(code)) {
|
|
||||||
code = <i32>load<u16>(ptr += 2);
|
|
||||||
--len;
|
|
||||||
}
|
|
||||||
if (code == CharCode.MINUS) {
|
|
||||||
if (!--len) return NaN;
|
|
||||||
code = <i32>load<u16>(ptr += 2);
|
|
||||||
sign = -1;
|
|
||||||
} else if (code == CharCode.PLUS) {
|
|
||||||
if (!--len) return NaN;
|
|
||||||
code = <i32>load<u16>(ptr += 2);
|
|
||||||
sign = 1;
|
|
||||||
} else {
|
|
||||||
sign = 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
// calculate value
|
|
||||||
var num: f64 = 0;
|
|
||||||
while (len--) {
|
|
||||||
code = <i32>load<u16>(ptr);
|
|
||||||
if (code == CharCode.DOT) {
|
|
||||||
ptr += 2;
|
|
||||||
let fac: f64 = 0.1; // precision :(
|
|
||||||
while (len--) {
|
|
||||||
code = <i32>load<u16>(ptr);
|
|
||||||
if (code == CharCode.E || code == CharCode.e) {
|
|
||||||
assert(false); // TODO
|
|
||||||
}
|
|
||||||
code -= CharCode._0;
|
|
||||||
if (<u32>code > 9) break;
|
|
||||||
num += <f64>code * fac;
|
|
||||||
fac *= 0.1;
|
|
||||||
ptr += 2;
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
code -= CharCode._0;
|
|
||||||
if (<u32>code >= 10) break;
|
|
||||||
num = (num * 10) + code;
|
|
||||||
ptr += 2;
|
|
||||||
}
|
|
||||||
return sign * num;
|
|
||||||
}
|
}
|
||||||
|
@ -57,7 +57,7 @@ export function isWhiteSpaceOrLineTerminator(c: i32): bool {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/** Parses a string to an integer (usually), using the specified radix. */
|
/** Parses a string to an integer (usually), using the specified radix. */
|
||||||
export function parse<T>(str: string, radix: i32 = 0): T {
|
export function strtol<T>(str: string, radix: i32 = 0): T {
|
||||||
var len: i32 = str.length;
|
var len: i32 = str.length;
|
||||||
// @ts-ignore: cast
|
// @ts-ignore: cast
|
||||||
if (!len) return <T>NaN;
|
if (!len) return <T>NaN;
|
||||||
@ -139,3 +139,58 @@ export function parse<T>(str: string, radix: i32 = 0): T {
|
|||||||
// @ts-ignore: type
|
// @ts-ignore: type
|
||||||
return sign * num;
|
return sign * num;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// FIXME: naive implementation
|
||||||
|
export function strtod(str: string): f64 {
|
||||||
|
var len: i32 = str.length;
|
||||||
|
if (!len) return NaN;
|
||||||
|
|
||||||
|
var ptr = changetype<usize>(str);
|
||||||
|
var code = <i32>load<u16>(ptr);
|
||||||
|
|
||||||
|
// determine sign
|
||||||
|
var sign: f64;
|
||||||
|
// trim white spaces
|
||||||
|
while (isWhiteSpaceOrLineTerminator(code)) {
|
||||||
|
code = <i32>load<u16>(ptr += 2);
|
||||||
|
--len;
|
||||||
|
}
|
||||||
|
if (code == CharCode.MINUS) {
|
||||||
|
if (!--len) return NaN;
|
||||||
|
code = <i32>load<u16>(ptr += 2);
|
||||||
|
sign = -1;
|
||||||
|
} else if (code == CharCode.PLUS) {
|
||||||
|
if (!--len) return NaN;
|
||||||
|
code = <i32>load<u16>(ptr += 2);
|
||||||
|
sign = 1;
|
||||||
|
} else {
|
||||||
|
sign = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
// calculate value
|
||||||
|
var num: f64 = 0;
|
||||||
|
while (len--) {
|
||||||
|
code = <i32>load<u16>(ptr);
|
||||||
|
if (code == CharCode.DOT) {
|
||||||
|
ptr += 2;
|
||||||
|
let fac: f64 = 0.1; // precision :(
|
||||||
|
while (len--) {
|
||||||
|
code = <i32>load<u16>(ptr);
|
||||||
|
if (code == CharCode.E || code == CharCode.e) {
|
||||||
|
assert(false); // TODO
|
||||||
|
}
|
||||||
|
code -= CharCode._0;
|
||||||
|
if (<u32>code > 9) break;
|
||||||
|
num += <f64>code * fac;
|
||||||
|
fac *= 0.1;
|
||||||
|
ptr += 2;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
code -= CharCode._0;
|
||||||
|
if (<u32>code >= 10) break;
|
||||||
|
num = (num * 10) + code;
|
||||||
|
ptr += 2;
|
||||||
|
}
|
||||||
|
return sign * num;
|
||||||
|
}
|
||||||
|
@ -1188,7 +1188,7 @@
|
|||||||
local.get $16
|
local.get $16
|
||||||
f64.mul
|
f64.mul
|
||||||
)
|
)
|
||||||
(func $~lib/builtins/isNaN<f32> (; 2 ;) (type $FUNCSIG$if) (param $0 f32) (result i32)
|
(func $~lib/number/isNaN<f32> (; 2 ;) (type $FUNCSIG$if) (param $0 f32) (result i32)
|
||||||
local.get $0
|
local.get $0
|
||||||
local.get $0
|
local.get $0
|
||||||
f32.ne
|
f32.ne
|
||||||
@ -1243,7 +1243,7 @@
|
|||||||
i32.const 1
|
i32.const 1
|
||||||
else
|
else
|
||||||
local.get $1
|
local.get $1
|
||||||
call $~lib/builtins/isNaN<f32>
|
call $~lib/number/isNaN<f32>
|
||||||
end
|
end
|
||||||
if
|
if
|
||||||
local.get $0
|
local.get $0
|
||||||
@ -2464,7 +2464,7 @@
|
|||||||
local.get $11
|
local.get $11
|
||||||
f32.mul
|
f32.mul
|
||||||
)
|
)
|
||||||
(func $~lib/builtins/isNaN<f64> (; 6 ;) (type $FUNCSIG$id) (param $0 f64) (result i32)
|
(func $~lib/number/isNaN<f64> (; 6 ;) (type $FUNCSIG$id) (param $0 f64) (result i32)
|
||||||
local.get $0
|
local.get $0
|
||||||
local.get $0
|
local.get $0
|
||||||
f64.ne
|
f64.ne
|
||||||
@ -2519,7 +2519,7 @@
|
|||||||
i32.const 1
|
i32.const 1
|
||||||
else
|
else
|
||||||
local.get $1
|
local.get $1
|
||||||
call $~lib/builtins/isNaN<f64>
|
call $~lib/number/isNaN<f64>
|
||||||
end
|
end
|
||||||
if
|
if
|
||||||
local.get $0
|
local.get $0
|
||||||
|
@ -23,24 +23,24 @@
|
|||||||
(export "memory" (memory $0))
|
(export "memory" (memory $0))
|
||||||
(export "test" (func $builtins/test))
|
(export "test" (func $builtins/test))
|
||||||
(start $start)
|
(start $start)
|
||||||
(func $~lib/builtins/isNaN<f32> (; 1 ;) (type $FUNCSIG$if) (param $0 f32) (result i32)
|
(func $~lib/number/isNaN<f32> (; 1 ;) (type $FUNCSIG$if) (param $0 f32) (result i32)
|
||||||
local.get $0
|
local.get $0
|
||||||
local.get $0
|
local.get $0
|
||||||
f32.ne
|
f32.ne
|
||||||
)
|
)
|
||||||
(func $~lib/builtins/isFinite<f32> (; 2 ;) (type $FUNCSIG$if) (param $0 f32) (result i32)
|
(func $~lib/number/isFinite<f32> (; 2 ;) (type $FUNCSIG$if) (param $0 f32) (result i32)
|
||||||
local.get $0
|
local.get $0
|
||||||
local.get $0
|
local.get $0
|
||||||
f32.sub
|
f32.sub
|
||||||
f32.const 0
|
f32.const 0
|
||||||
f32.eq
|
f32.eq
|
||||||
)
|
)
|
||||||
(func $~lib/builtins/isNaN<f64> (; 3 ;) (type $FUNCSIG$id) (param $0 f64) (result i32)
|
(func $~lib/number/isNaN<f64> (; 3 ;) (type $FUNCSIG$id) (param $0 f64) (result i32)
|
||||||
local.get $0
|
local.get $0
|
||||||
local.get $0
|
local.get $0
|
||||||
f64.ne
|
f64.ne
|
||||||
)
|
)
|
||||||
(func $~lib/builtins/isFinite<f64> (; 4 ;) (type $FUNCSIG$id) (param $0 f64) (result i32)
|
(func $~lib/number/isFinite<f64> (; 4 ;) (type $FUNCSIG$id) (param $0 f64) (result i32)
|
||||||
local.get $0
|
local.get $0
|
||||||
local.get $0
|
local.get $0
|
||||||
f64.sub
|
f64.sub
|
||||||
@ -150,7 +150,7 @@
|
|||||||
unreachable
|
unreachable
|
||||||
end
|
end
|
||||||
f32.const 1.25
|
f32.const 1.25
|
||||||
call $~lib/builtins/isNaN<f32>
|
call $~lib/number/isNaN<f32>
|
||||||
if
|
if
|
||||||
i32.const 0
|
i32.const 0
|
||||||
i32.const 24
|
i32.const 24
|
||||||
@ -160,7 +160,7 @@
|
|||||||
unreachable
|
unreachable
|
||||||
end
|
end
|
||||||
f32.const nan:0x400000
|
f32.const nan:0x400000
|
||||||
call $~lib/builtins/isNaN<f32>
|
call $~lib/number/isNaN<f32>
|
||||||
i32.const 1
|
i32.const 1
|
||||||
i32.ne
|
i32.ne
|
||||||
if
|
if
|
||||||
@ -172,7 +172,7 @@
|
|||||||
unreachable
|
unreachable
|
||||||
end
|
end
|
||||||
f32.const 1.25
|
f32.const 1.25
|
||||||
call $~lib/builtins/isFinite<f32>
|
call $~lib/number/isFinite<f32>
|
||||||
i32.const 1
|
i32.const 1
|
||||||
i32.ne
|
i32.ne
|
||||||
if
|
if
|
||||||
@ -184,7 +184,7 @@
|
|||||||
unreachable
|
unreachable
|
||||||
end
|
end
|
||||||
f32.const inf
|
f32.const inf
|
||||||
call $~lib/builtins/isFinite<f32>
|
call $~lib/number/isFinite<f32>
|
||||||
if
|
if
|
||||||
i32.const 0
|
i32.const 0
|
||||||
i32.const 24
|
i32.const 24
|
||||||
@ -194,7 +194,7 @@
|
|||||||
unreachable
|
unreachable
|
||||||
end
|
end
|
||||||
f32.const -inf
|
f32.const -inf
|
||||||
call $~lib/builtins/isFinite<f32>
|
call $~lib/number/isFinite<f32>
|
||||||
if
|
if
|
||||||
i32.const 0
|
i32.const 0
|
||||||
i32.const 24
|
i32.const 24
|
||||||
@ -204,7 +204,7 @@
|
|||||||
unreachable
|
unreachable
|
||||||
end
|
end
|
||||||
f32.const nan:0x400000
|
f32.const nan:0x400000
|
||||||
call $~lib/builtins/isFinite<f32>
|
call $~lib/number/isFinite<f32>
|
||||||
if
|
if
|
||||||
i32.const 0
|
i32.const 0
|
||||||
i32.const 24
|
i32.const 24
|
||||||
@ -236,13 +236,13 @@
|
|||||||
f32.const 1
|
f32.const 1
|
||||||
global.set $builtins/f
|
global.set $builtins/f
|
||||||
f32.const 1.25
|
f32.const 1.25
|
||||||
call $~lib/builtins/isNaN<f32>
|
call $~lib/number/isNaN<f32>
|
||||||
global.set $builtins/b
|
global.set $builtins/b
|
||||||
f32.const 1.25
|
f32.const 1.25
|
||||||
call $~lib/builtins/isFinite<f32>
|
call $~lib/number/isFinite<f32>
|
||||||
global.set $builtins/b
|
global.set $builtins/b
|
||||||
f64.const 1.25
|
f64.const 1.25
|
||||||
call $~lib/builtins/isNaN<f64>
|
call $~lib/number/isNaN<f64>
|
||||||
if
|
if
|
||||||
i32.const 0
|
i32.const 0
|
||||||
i32.const 24
|
i32.const 24
|
||||||
@ -252,7 +252,7 @@
|
|||||||
unreachable
|
unreachable
|
||||||
end
|
end
|
||||||
f64.const nan:0x8000000000000
|
f64.const nan:0x8000000000000
|
||||||
call $~lib/builtins/isNaN<f64>
|
call $~lib/number/isNaN<f64>
|
||||||
i32.const 1
|
i32.const 1
|
||||||
i32.ne
|
i32.ne
|
||||||
if
|
if
|
||||||
@ -264,7 +264,7 @@
|
|||||||
unreachable
|
unreachable
|
||||||
end
|
end
|
||||||
f64.const 1.25
|
f64.const 1.25
|
||||||
call $~lib/builtins/isFinite<f64>
|
call $~lib/number/isFinite<f64>
|
||||||
i32.const 1
|
i32.const 1
|
||||||
i32.ne
|
i32.ne
|
||||||
if
|
if
|
||||||
@ -276,7 +276,7 @@
|
|||||||
unreachable
|
unreachable
|
||||||
end
|
end
|
||||||
f64.const inf
|
f64.const inf
|
||||||
call $~lib/builtins/isFinite<f64>
|
call $~lib/number/isFinite<f64>
|
||||||
if
|
if
|
||||||
i32.const 0
|
i32.const 0
|
||||||
i32.const 24
|
i32.const 24
|
||||||
@ -286,7 +286,7 @@
|
|||||||
unreachable
|
unreachable
|
||||||
end
|
end
|
||||||
f64.const -inf
|
f64.const -inf
|
||||||
call $~lib/builtins/isFinite<f64>
|
call $~lib/number/isFinite<f64>
|
||||||
if
|
if
|
||||||
i32.const 0
|
i32.const 0
|
||||||
i32.const 24
|
i32.const 24
|
||||||
@ -296,7 +296,7 @@
|
|||||||
unreachable
|
unreachable
|
||||||
end
|
end
|
||||||
f64.const nan:0x8000000000000
|
f64.const nan:0x8000000000000
|
||||||
call $~lib/builtins/isFinite<f64>
|
call $~lib/number/isFinite<f64>
|
||||||
if
|
if
|
||||||
i32.const 0
|
i32.const 0
|
||||||
i32.const 24
|
i32.const 24
|
||||||
@ -328,10 +328,10 @@
|
|||||||
f64.const 1
|
f64.const 1
|
||||||
global.set $builtins/F
|
global.set $builtins/F
|
||||||
f64.const 1.25
|
f64.const 1.25
|
||||||
call $~lib/builtins/isNaN<f64>
|
call $~lib/number/isNaN<f64>
|
||||||
global.set $builtins/b
|
global.set $builtins/b
|
||||||
f64.const 1.25
|
f64.const 1.25
|
||||||
call $~lib/builtins/isFinite<f64>
|
call $~lib/number/isFinite<f64>
|
||||||
global.set $builtins/b
|
global.set $builtins/b
|
||||||
i32.const 8
|
i32.const 8
|
||||||
i32.load
|
i32.load
|
||||||
@ -533,7 +533,7 @@
|
|||||||
global.get $builtins/fn
|
global.get $builtins/fn
|
||||||
call_indirect (type $FUNCSIG$vii)
|
call_indirect (type $FUNCSIG$vii)
|
||||||
f32.const nan:0x400000
|
f32.const nan:0x400000
|
||||||
call $~lib/builtins/isNaN<f32>
|
call $~lib/number/isNaN<f32>
|
||||||
i32.eqz
|
i32.eqz
|
||||||
if
|
if
|
||||||
i32.const 0
|
i32.const 0
|
||||||
@ -544,7 +544,7 @@
|
|||||||
unreachable
|
unreachable
|
||||||
end
|
end
|
||||||
f64.const nan:0x8000000000000
|
f64.const nan:0x8000000000000
|
||||||
call $~lib/builtins/isNaN<f64>
|
call $~lib/number/isNaN<f64>
|
||||||
i32.eqz
|
i32.eqz
|
||||||
if
|
if
|
||||||
i32.const 0
|
i32.const 0
|
||||||
@ -555,7 +555,7 @@
|
|||||||
unreachable
|
unreachable
|
||||||
end
|
end
|
||||||
f32.const nan:0x400000
|
f32.const nan:0x400000
|
||||||
call $~lib/builtins/isFinite<f32>
|
call $~lib/number/isFinite<f32>
|
||||||
if
|
if
|
||||||
i32.const 0
|
i32.const 0
|
||||||
i32.const 24
|
i32.const 24
|
||||||
@ -565,7 +565,7 @@
|
|||||||
unreachable
|
unreachable
|
||||||
end
|
end
|
||||||
f32.const inf
|
f32.const inf
|
||||||
call $~lib/builtins/isFinite<f32>
|
call $~lib/number/isFinite<f32>
|
||||||
if
|
if
|
||||||
i32.const 0
|
i32.const 0
|
||||||
i32.const 24
|
i32.const 24
|
||||||
@ -575,7 +575,7 @@
|
|||||||
unreachable
|
unreachable
|
||||||
end
|
end
|
||||||
f64.const nan:0x8000000000000
|
f64.const nan:0x8000000000000
|
||||||
call $~lib/builtins/isFinite<f64>
|
call $~lib/number/isFinite<f64>
|
||||||
if
|
if
|
||||||
i32.const 0
|
i32.const 0
|
||||||
i32.const 24
|
i32.const 24
|
||||||
@ -585,7 +585,7 @@
|
|||||||
unreachable
|
unreachable
|
||||||
end
|
end
|
||||||
f64.const inf
|
f64.const inf
|
||||||
call $~lib/builtins/isFinite<f64>
|
call $~lib/number/isFinite<f64>
|
||||||
if
|
if
|
||||||
i32.const 0
|
i32.const 0
|
||||||
i32.const 24
|
i32.const 24
|
||||||
@ -595,7 +595,7 @@
|
|||||||
unreachable
|
unreachable
|
||||||
end
|
end
|
||||||
f32.const 0
|
f32.const 0
|
||||||
call $~lib/builtins/isFinite<f32>
|
call $~lib/number/isFinite<f32>
|
||||||
i32.eqz
|
i32.eqz
|
||||||
if
|
if
|
||||||
i32.const 0
|
i32.const 0
|
||||||
@ -606,7 +606,7 @@
|
|||||||
unreachable
|
unreachable
|
||||||
end
|
end
|
||||||
f64.const 0
|
f64.const 0
|
||||||
call $~lib/builtins/isFinite<f64>
|
call $~lib/number/isFinite<f64>
|
||||||
i32.eqz
|
i32.eqz
|
||||||
if
|
if
|
||||||
i32.const 0
|
i32.const 0
|
||||||
@ -685,9 +685,6 @@
|
|||||||
i32.const 8
|
i32.const 8
|
||||||
f64.const 1
|
f64.const 1
|
||||||
f64.store
|
f64.store
|
||||||
f64.const 1
|
|
||||||
call $~lib/builtins/isNaN<f64>
|
|
||||||
drop
|
|
||||||
)
|
)
|
||||||
(func $builtins/test (; 7 ;) (type $FUNCSIG$v)
|
(func $builtins/test (; 7 ;) (type $FUNCSIG$v)
|
||||||
nop
|
nop
|
||||||
|
@ -418,7 +418,3 @@ f64.store(8, 1.0);
|
|||||||
|
|
||||||
f32.trunc(1.0);
|
f32.trunc(1.0);
|
||||||
f64.trunc(1.0);
|
f64.trunc(1.0);
|
||||||
|
|
||||||
// should be importable
|
|
||||||
import { isNaN as isItNaN } from "builtins";
|
|
||||||
isItNaN<f64>(1);
|
|
||||||
|
@ -54,24 +54,24 @@
|
|||||||
(export "memory" (memory $0))
|
(export "memory" (memory $0))
|
||||||
(export "test" (func $builtins/test))
|
(export "test" (func $builtins/test))
|
||||||
(start $start)
|
(start $start)
|
||||||
(func $~lib/builtins/isNaN<f32> (; 1 ;) (type $FUNCSIG$if) (param $0 f32) (result i32)
|
(func $~lib/number/isNaN<f32> (; 1 ;) (type $FUNCSIG$if) (param $0 f32) (result i32)
|
||||||
local.get $0
|
local.get $0
|
||||||
local.get $0
|
local.get $0
|
||||||
f32.ne
|
f32.ne
|
||||||
)
|
)
|
||||||
(func $~lib/builtins/isFinite<f32> (; 2 ;) (type $FUNCSIG$if) (param $0 f32) (result i32)
|
(func $~lib/number/isFinite<f32> (; 2 ;) (type $FUNCSIG$if) (param $0 f32) (result i32)
|
||||||
local.get $0
|
local.get $0
|
||||||
local.get $0
|
local.get $0
|
||||||
f32.sub
|
f32.sub
|
||||||
f32.const 0
|
f32.const 0
|
||||||
f32.eq
|
f32.eq
|
||||||
)
|
)
|
||||||
(func $~lib/builtins/isNaN<f64> (; 3 ;) (type $FUNCSIG$id) (param $0 f64) (result i32)
|
(func $~lib/number/isNaN<f64> (; 3 ;) (type $FUNCSIG$id) (param $0 f64) (result i32)
|
||||||
local.get $0
|
local.get $0
|
||||||
local.get $0
|
local.get $0
|
||||||
f64.ne
|
f64.ne
|
||||||
)
|
)
|
||||||
(func $~lib/builtins/isFinite<f64> (; 4 ;) (type $FUNCSIG$id) (param $0 f64) (result i32)
|
(func $~lib/number/isFinite<f64> (; 4 ;) (type $FUNCSIG$id) (param $0 f64) (result i32)
|
||||||
local.get $0
|
local.get $0
|
||||||
local.get $0
|
local.get $0
|
||||||
f64.sub
|
f64.sub
|
||||||
@ -751,7 +751,7 @@
|
|||||||
f32.trunc
|
f32.trunc
|
||||||
drop
|
drop
|
||||||
f32.const 1.25
|
f32.const 1.25
|
||||||
call $~lib/builtins/isNaN<f32>
|
call $~lib/number/isNaN<f32>
|
||||||
i32.const 0
|
i32.const 0
|
||||||
i32.eq
|
i32.eq
|
||||||
i32.eqz
|
i32.eqz
|
||||||
@ -764,7 +764,7 @@
|
|||||||
unreachable
|
unreachable
|
||||||
end
|
end
|
||||||
f32.const nan:0x400000
|
f32.const nan:0x400000
|
||||||
call $~lib/builtins/isNaN<f32>
|
call $~lib/number/isNaN<f32>
|
||||||
i32.const 1
|
i32.const 1
|
||||||
i32.eq
|
i32.eq
|
||||||
i32.eqz
|
i32.eqz
|
||||||
@ -777,7 +777,7 @@
|
|||||||
unreachable
|
unreachable
|
||||||
end
|
end
|
||||||
f32.const 1.25
|
f32.const 1.25
|
||||||
call $~lib/builtins/isFinite<f32>
|
call $~lib/number/isFinite<f32>
|
||||||
i32.const 1
|
i32.const 1
|
||||||
i32.eq
|
i32.eq
|
||||||
i32.eqz
|
i32.eqz
|
||||||
@ -790,7 +790,7 @@
|
|||||||
unreachable
|
unreachable
|
||||||
end
|
end
|
||||||
f32.const inf
|
f32.const inf
|
||||||
call $~lib/builtins/isFinite<f32>
|
call $~lib/number/isFinite<f32>
|
||||||
i32.const 0
|
i32.const 0
|
||||||
i32.eq
|
i32.eq
|
||||||
i32.eqz
|
i32.eqz
|
||||||
@ -804,7 +804,7 @@
|
|||||||
end
|
end
|
||||||
f32.const inf
|
f32.const inf
|
||||||
f32.neg
|
f32.neg
|
||||||
call $~lib/builtins/isFinite<f32>
|
call $~lib/number/isFinite<f32>
|
||||||
i32.const 0
|
i32.const 0
|
||||||
i32.eq
|
i32.eq
|
||||||
i32.eqz
|
i32.eqz
|
||||||
@ -817,7 +817,7 @@
|
|||||||
unreachable
|
unreachable
|
||||||
end
|
end
|
||||||
f32.const nan:0x400000
|
f32.const nan:0x400000
|
||||||
call $~lib/builtins/isFinite<f32>
|
call $~lib/number/isFinite<f32>
|
||||||
i32.const 0
|
i32.const 0
|
||||||
i32.eq
|
i32.eq
|
||||||
i32.eqz
|
i32.eqz
|
||||||
@ -864,10 +864,10 @@
|
|||||||
f32.trunc
|
f32.trunc
|
||||||
global.set $builtins/f
|
global.set $builtins/f
|
||||||
f32.const 1.25
|
f32.const 1.25
|
||||||
call $~lib/builtins/isNaN<f32>
|
call $~lib/number/isNaN<f32>
|
||||||
global.set $builtins/b
|
global.set $builtins/b
|
||||||
f32.const 1.25
|
f32.const 1.25
|
||||||
call $~lib/builtins/isFinite<f32>
|
call $~lib/number/isFinite<f32>
|
||||||
global.set $builtins/b
|
global.set $builtins/b
|
||||||
f64.const nan:0x8000000000000
|
f64.const nan:0x8000000000000
|
||||||
drop
|
drop
|
||||||
@ -908,7 +908,7 @@
|
|||||||
f64.trunc
|
f64.trunc
|
||||||
drop
|
drop
|
||||||
f64.const 1.25
|
f64.const 1.25
|
||||||
call $~lib/builtins/isNaN<f64>
|
call $~lib/number/isNaN<f64>
|
||||||
i32.const 0
|
i32.const 0
|
||||||
i32.eq
|
i32.eq
|
||||||
i32.eqz
|
i32.eqz
|
||||||
@ -921,7 +921,7 @@
|
|||||||
unreachable
|
unreachable
|
||||||
end
|
end
|
||||||
f64.const nan:0x8000000000000
|
f64.const nan:0x8000000000000
|
||||||
call $~lib/builtins/isNaN<f64>
|
call $~lib/number/isNaN<f64>
|
||||||
i32.const 1
|
i32.const 1
|
||||||
i32.eq
|
i32.eq
|
||||||
i32.eqz
|
i32.eqz
|
||||||
@ -934,7 +934,7 @@
|
|||||||
unreachable
|
unreachable
|
||||||
end
|
end
|
||||||
f64.const 1.25
|
f64.const 1.25
|
||||||
call $~lib/builtins/isFinite<f64>
|
call $~lib/number/isFinite<f64>
|
||||||
i32.const 1
|
i32.const 1
|
||||||
i32.eq
|
i32.eq
|
||||||
i32.eqz
|
i32.eqz
|
||||||
@ -947,7 +947,7 @@
|
|||||||
unreachable
|
unreachable
|
||||||
end
|
end
|
||||||
f64.const inf
|
f64.const inf
|
||||||
call $~lib/builtins/isFinite<f64>
|
call $~lib/number/isFinite<f64>
|
||||||
i32.const 0
|
i32.const 0
|
||||||
i32.eq
|
i32.eq
|
||||||
i32.eqz
|
i32.eqz
|
||||||
@ -961,7 +961,7 @@
|
|||||||
end
|
end
|
||||||
f64.const inf
|
f64.const inf
|
||||||
f64.neg
|
f64.neg
|
||||||
call $~lib/builtins/isFinite<f64>
|
call $~lib/number/isFinite<f64>
|
||||||
i32.const 0
|
i32.const 0
|
||||||
i32.eq
|
i32.eq
|
||||||
i32.eqz
|
i32.eqz
|
||||||
@ -974,7 +974,7 @@
|
|||||||
unreachable
|
unreachable
|
||||||
end
|
end
|
||||||
f64.const nan:0x8000000000000
|
f64.const nan:0x8000000000000
|
||||||
call $~lib/builtins/isFinite<f64>
|
call $~lib/number/isFinite<f64>
|
||||||
i32.const 0
|
i32.const 0
|
||||||
i32.eq
|
i32.eq
|
||||||
i32.eqz
|
i32.eqz
|
||||||
@ -1021,10 +1021,10 @@
|
|||||||
f64.trunc
|
f64.trunc
|
||||||
global.set $builtins/F
|
global.set $builtins/F
|
||||||
f64.const 1.25
|
f64.const 1.25
|
||||||
call $~lib/builtins/isNaN<f64>
|
call $~lib/number/isNaN<f64>
|
||||||
global.set $builtins/b
|
global.set $builtins/b
|
||||||
f64.const 1.25
|
f64.const 1.25
|
||||||
call $~lib/builtins/isFinite<f64>
|
call $~lib/number/isFinite<f64>
|
||||||
global.set $builtins/b
|
global.set $builtins/b
|
||||||
i32.const 8
|
i32.const 8
|
||||||
i32.load
|
i32.load
|
||||||
@ -1555,7 +1555,7 @@
|
|||||||
unreachable
|
unreachable
|
||||||
end
|
end
|
||||||
f32.const nan:0x400000
|
f32.const nan:0x400000
|
||||||
call $~lib/builtins/isNaN<f32>
|
call $~lib/number/isNaN<f32>
|
||||||
i32.eqz
|
i32.eqz
|
||||||
if
|
if
|
||||||
i32.const 0
|
i32.const 0
|
||||||
@ -1566,7 +1566,7 @@
|
|||||||
unreachable
|
unreachable
|
||||||
end
|
end
|
||||||
f64.const nan:0x8000000000000
|
f64.const nan:0x8000000000000
|
||||||
call $~lib/builtins/isNaN<f64>
|
call $~lib/number/isNaN<f64>
|
||||||
i32.eqz
|
i32.eqz
|
||||||
if
|
if
|
||||||
i32.const 0
|
i32.const 0
|
||||||
@ -1577,7 +1577,7 @@
|
|||||||
unreachable
|
unreachable
|
||||||
end
|
end
|
||||||
f32.const nan:0x400000
|
f32.const nan:0x400000
|
||||||
call $~lib/builtins/isFinite<f32>
|
call $~lib/number/isFinite<f32>
|
||||||
i32.eqz
|
i32.eqz
|
||||||
i32.eqz
|
i32.eqz
|
||||||
if
|
if
|
||||||
@ -1589,7 +1589,7 @@
|
|||||||
unreachable
|
unreachable
|
||||||
end
|
end
|
||||||
f32.const inf
|
f32.const inf
|
||||||
call $~lib/builtins/isFinite<f32>
|
call $~lib/number/isFinite<f32>
|
||||||
i32.eqz
|
i32.eqz
|
||||||
i32.eqz
|
i32.eqz
|
||||||
if
|
if
|
||||||
@ -1601,7 +1601,7 @@
|
|||||||
unreachable
|
unreachable
|
||||||
end
|
end
|
||||||
f64.const nan:0x8000000000000
|
f64.const nan:0x8000000000000
|
||||||
call $~lib/builtins/isFinite<f64>
|
call $~lib/number/isFinite<f64>
|
||||||
i32.eqz
|
i32.eqz
|
||||||
i32.eqz
|
i32.eqz
|
||||||
if
|
if
|
||||||
@ -1613,7 +1613,7 @@
|
|||||||
unreachable
|
unreachable
|
||||||
end
|
end
|
||||||
f64.const inf
|
f64.const inf
|
||||||
call $~lib/builtins/isFinite<f64>
|
call $~lib/number/isFinite<f64>
|
||||||
i32.eqz
|
i32.eqz
|
||||||
i32.eqz
|
i32.eqz
|
||||||
if
|
if
|
||||||
@ -1625,7 +1625,7 @@
|
|||||||
unreachable
|
unreachable
|
||||||
end
|
end
|
||||||
f32.const 0
|
f32.const 0
|
||||||
call $~lib/builtins/isFinite<f32>
|
call $~lib/number/isFinite<f32>
|
||||||
i32.eqz
|
i32.eqz
|
||||||
if
|
if
|
||||||
i32.const 0
|
i32.const 0
|
||||||
@ -1636,7 +1636,7 @@
|
|||||||
unreachable
|
unreachable
|
||||||
end
|
end
|
||||||
f64.const 0
|
f64.const 0
|
||||||
call $~lib/builtins/isFinite<f64>
|
call $~lib/number/isFinite<f64>
|
||||||
i32.eqz
|
i32.eqz
|
||||||
if
|
if
|
||||||
i32.const 0
|
i32.const 0
|
||||||
@ -2213,9 +2213,6 @@
|
|||||||
f64.const 1
|
f64.const 1
|
||||||
f64.trunc
|
f64.trunc
|
||||||
drop
|
drop
|
||||||
f64.const 1
|
|
||||||
call $~lib/builtins/isNaN<f64>
|
|
||||||
drop
|
|
||||||
)
|
)
|
||||||
(func $builtins/test (; 7 ;) (type $FUNCSIG$v)
|
(func $builtins/test (; 7 ;) (type $FUNCSIG$v)
|
||||||
nop
|
nop
|
||||||
|
@ -305,14 +305,14 @@
|
|||||||
end
|
end
|
||||||
i32.const 0
|
i32.const 0
|
||||||
)
|
)
|
||||||
(func $~lib/builtins/isFinite<f64> (; 8 ;) (type $FUNCSIG$id) (param $0 f64) (result i32)
|
(func $~lib/number/isFinite<f64> (; 8 ;) (type $FUNCSIG$id) (param $0 f64) (result i32)
|
||||||
local.get $0
|
local.get $0
|
||||||
local.get $0
|
local.get $0
|
||||||
f64.sub
|
f64.sub
|
||||||
f64.const 0
|
f64.const 0
|
||||||
f64.eq
|
f64.eq
|
||||||
)
|
)
|
||||||
(func $~lib/builtins/isNaN<f64> (; 9 ;) (type $FUNCSIG$id) (param $0 f64) (result i32)
|
(func $~lib/number/isNaN<f64> (; 9 ;) (type $FUNCSIG$id) (param $0 f64) (result i32)
|
||||||
local.get $0
|
local.get $0
|
||||||
local.get $0
|
local.get $0
|
||||||
f64.ne
|
f64.ne
|
||||||
@ -1407,11 +1407,11 @@
|
|||||||
(local $0 i32)
|
(local $0 i32)
|
||||||
(local $1 i32)
|
(local $1 i32)
|
||||||
f64.const 2
|
f64.const 2
|
||||||
call $~lib/builtins/isFinite<f64>
|
call $~lib/number/isFinite<f64>
|
||||||
i32.eqz
|
i32.eqz
|
||||||
if
|
if
|
||||||
f64.const 2
|
f64.const 2
|
||||||
call $~lib/builtins/isNaN<f64>
|
call $~lib/number/isNaN<f64>
|
||||||
if
|
if
|
||||||
i32.const 136
|
i32.const 136
|
||||||
return
|
return
|
||||||
@ -1479,7 +1479,7 @@
|
|||||||
)
|
)
|
||||||
(func $~lib/number/F64.isInteger (; 20 ;) (type $FUNCSIG$id) (param $0 f64) (result i32)
|
(func $~lib/number/F64.isInteger (; 20 ;) (type $FUNCSIG$id) (param $0 f64) (result i32)
|
||||||
local.get $0
|
local.get $0
|
||||||
call $~lib/builtins/isFinite<f64>
|
call $~lib/number/isFinite<f64>
|
||||||
if (result i32)
|
if (result i32)
|
||||||
local.get $0
|
local.get $0
|
||||||
f64.trunc
|
f64.trunc
|
||||||
@ -1876,7 +1876,7 @@
|
|||||||
unreachable
|
unreachable
|
||||||
end
|
end
|
||||||
f64.const nan:0x8000000000000
|
f64.const nan:0x8000000000000
|
||||||
call $~lib/builtins/isNaN<f64>
|
call $~lib/number/isNaN<f64>
|
||||||
i32.eqz
|
i32.eqz
|
||||||
if
|
if
|
||||||
i32.const 0
|
i32.const 0
|
||||||
|
@ -5,6 +5,7 @@
|
|||||||
(type $FUNCSIG$vi (func (param i32)))
|
(type $FUNCSIG$vi (func (param i32)))
|
||||||
(type $FUNCSIG$iiiiii (func (param i32 i32 i32 i32 i32) (result i32)))
|
(type $FUNCSIG$iiiiii (func (param i32 i32 i32 i32 i32) (result i32)))
|
||||||
(type $FUNCSIG$viiii (func (param i32 i32 i32 i32)))
|
(type $FUNCSIG$viiii (func (param i32 i32 i32 i32)))
|
||||||
|
(type $FUNCSIG$idi (func (param f64 i32) (result i32)))
|
||||||
(type $FUNCSIG$id (func (param f64) (result i32)))
|
(type $FUNCSIG$id (func (param f64) (result i32)))
|
||||||
(type $FUNCSIG$iid (func (param i32 f64) (result i32)))
|
(type $FUNCSIG$iid (func (param i32 f64) (result i32)))
|
||||||
(type $FUNCSIG$jii (func (param i32 i32) (result i64)))
|
(type $FUNCSIG$jii (func (param i32 i32) (result i64)))
|
||||||
@ -588,14 +589,14 @@
|
|||||||
call $~lib/rt/stub/__release
|
call $~lib/rt/stub/__release
|
||||||
local.get $2
|
local.get $2
|
||||||
)
|
)
|
||||||
(func $~lib/builtins/isFinite<f64> (; 12 ;) (type $FUNCSIG$id) (param $0 f64) (result i32)
|
(func $~lib/number/isFinite<f64> (; 12 ;) (type $FUNCSIG$id) (param $0 f64) (result i32)
|
||||||
local.get $0
|
local.get $0
|
||||||
local.get $0
|
local.get $0
|
||||||
f64.sub
|
f64.sub
|
||||||
f64.const 0
|
f64.const 0
|
||||||
f64.eq
|
f64.eq
|
||||||
)
|
)
|
||||||
(func $~lib/builtins/isNaN<f64> (; 13 ;) (type $FUNCSIG$id) (param $0 f64) (result i32)
|
(func $~lib/number/isNaN<f64> (; 13 ;) (type $FUNCSIG$id) (param $0 f64) (result i32)
|
||||||
local.get $0
|
local.get $0
|
||||||
local.get $0
|
local.get $0
|
||||||
f64.ne
|
f64.ne
|
||||||
@ -3495,11 +3496,11 @@
|
|||||||
return
|
return
|
||||||
end
|
end
|
||||||
local.get $0
|
local.get $0
|
||||||
call $~lib/builtins/isFinite<f64>
|
call $~lib/number/isFinite<f64>
|
||||||
i32.eqz
|
i32.eqz
|
||||||
if
|
if
|
||||||
local.get $0
|
local.get $0
|
||||||
call $~lib/builtins/isNaN<f64>
|
call $~lib/number/isNaN<f64>
|
||||||
if
|
if
|
||||||
i32.const 584
|
i32.const 584
|
||||||
call $~lib/rt/stub/__retain
|
call $~lib/rt/stub/__retain
|
||||||
@ -3541,7 +3542,7 @@
|
|||||||
call $~lib/rt/stub/__free
|
call $~lib/rt/stub/__free
|
||||||
local.get $3
|
local.get $3
|
||||||
)
|
)
|
||||||
(func $~lib/number/F64#toString (; 24 ;) (type $FUNCSIG$id) (param $0 f64) (result i32)
|
(func $~lib/number/F64#toString (; 24 ;) (type $FUNCSIG$idi) (param $0 f64) (param $1 i32) (result i32)
|
||||||
local.get $0
|
local.get $0
|
||||||
call $~lib/util/number/dtoa
|
call $~lib/util/number/dtoa
|
||||||
)
|
)
|
||||||
@ -3560,7 +3561,7 @@
|
|||||||
end
|
end
|
||||||
call $~lib/rt/stub/__retain
|
call $~lib/rt/stub/__retain
|
||||||
)
|
)
|
||||||
(func $~lib/builtins/isNaN<f32> (; 26 ;) (type $FUNCSIG$if) (param $0 f32) (result i32)
|
(func $~lib/number/isNaN<f32> (; 26 ;) (type $FUNCSIG$if) (param $0 f32) (result i32)
|
||||||
local.get $0
|
local.get $0
|
||||||
local.get $0
|
local.get $0
|
||||||
f32.ne
|
f32.ne
|
||||||
@ -3579,7 +3580,7 @@
|
|||||||
i32.const 0
|
i32.const 0
|
||||||
end
|
end
|
||||||
)
|
)
|
||||||
(func $~lib/builtins/isFinite<f32> (; 28 ;) (type $FUNCSIG$if) (param $0 f32) (result i32)
|
(func $~lib/number/isFinite<f32> (; 28 ;) (type $FUNCSIG$if) (param $0 f32) (result i32)
|
||||||
local.get $0
|
local.get $0
|
||||||
local.get $0
|
local.get $0
|
||||||
f32.sub
|
f32.sub
|
||||||
@ -3588,7 +3589,7 @@
|
|||||||
)
|
)
|
||||||
(func $~lib/number/F32.isInteger (; 29 ;) (type $FUNCSIG$if) (param $0 f32) (result i32)
|
(func $~lib/number/F32.isInteger (; 29 ;) (type $FUNCSIG$if) (param $0 f32) (result i32)
|
||||||
local.get $0
|
local.get $0
|
||||||
call $~lib/builtins/isFinite<f32>
|
call $~lib/number/isFinite<f32>
|
||||||
if (result i32)
|
if (result i32)
|
||||||
local.get $0
|
local.get $0
|
||||||
f32.trunc
|
f32.trunc
|
||||||
@ -3614,7 +3615,7 @@
|
|||||||
)
|
)
|
||||||
(func $~lib/number/F64.isInteger (; 31 ;) (type $FUNCSIG$id) (param $0 f64) (result i32)
|
(func $~lib/number/F64.isInteger (; 31 ;) (type $FUNCSIG$id) (param $0 f64) (result i32)
|
||||||
local.get $0
|
local.get $0
|
||||||
call $~lib/builtins/isFinite<f64>
|
call $~lib/number/isFinite<f64>
|
||||||
if (result i32)
|
if (result i32)
|
||||||
local.get $0
|
local.get $0
|
||||||
f64.trunc
|
f64.trunc
|
||||||
@ -3661,6 +3662,7 @@
|
|||||||
unreachable
|
unreachable
|
||||||
end
|
end
|
||||||
f64.const 2
|
f64.const 2
|
||||||
|
i32.const 0
|
||||||
call $~lib/number/F64#toString
|
call $~lib/number/F64#toString
|
||||||
local.tee $1
|
local.tee $1
|
||||||
i32.const 1800
|
i32.const 1800
|
||||||
@ -3829,7 +3831,7 @@
|
|||||||
unreachable
|
unreachable
|
||||||
end
|
end
|
||||||
global.get $~lib/number/F32.NaN
|
global.get $~lib/number/F32.NaN
|
||||||
call $~lib/builtins/isNaN<f32>
|
call $~lib/number/isNaN<f32>
|
||||||
i32.eqz
|
i32.eqz
|
||||||
if
|
if
|
||||||
i32.const 0
|
i32.const 0
|
||||||
@ -4104,7 +4106,7 @@
|
|||||||
unreachable
|
unreachable
|
||||||
end
|
end
|
||||||
global.get $~lib/number/F64.NaN
|
global.get $~lib/number/F64.NaN
|
||||||
call $~lib/builtins/isNaN<f64>
|
call $~lib/number/isNaN<f64>
|
||||||
i32.eqz
|
i32.eqz
|
||||||
if
|
if
|
||||||
i32.const 0
|
i32.const 0
|
||||||
|
@ -4584,7 +4584,7 @@
|
|||||||
i32.lt_s
|
i32.lt_s
|
||||||
i32.sub
|
i32.sub
|
||||||
)
|
)
|
||||||
(func $~lib/builtins/isNaN<f32> (; 102 ;) (type $FUNCSIG$if) (param $0 f32) (result i32)
|
(func $~lib/number/isNaN<f32> (; 102 ;) (type $FUNCSIG$if) (param $0 f32) (result i32)
|
||||||
local.get $0
|
local.get $0
|
||||||
local.get $0
|
local.get $0
|
||||||
f32.ne
|
f32.ne
|
||||||
@ -4619,11 +4619,11 @@
|
|||||||
local.get $0
|
local.get $0
|
||||||
local.get $2
|
local.get $2
|
||||||
call $~lib/array/Array<f32>#__get
|
call $~lib/array/Array<f32>#__get
|
||||||
call $~lib/builtins/isNaN<f32>
|
call $~lib/number/isNaN<f32>
|
||||||
local.get $1
|
local.get $1
|
||||||
local.get $2
|
local.get $2
|
||||||
call $~lib/array/Array<f32>#__get
|
call $~lib/array/Array<f32>#__get
|
||||||
call $~lib/builtins/isNaN<f32>
|
call $~lib/number/isNaN<f32>
|
||||||
i32.ne
|
i32.ne
|
||||||
if
|
if
|
||||||
local.get $0
|
local.get $0
|
||||||
@ -5117,7 +5117,7 @@
|
|||||||
i32.add
|
i32.add
|
||||||
f64.load
|
f64.load
|
||||||
)
|
)
|
||||||
(func $~lib/builtins/isNaN<f64> (; 109 ;) (type $FUNCSIG$id) (param $0 f64) (result i32)
|
(func $~lib/number/isNaN<f64> (; 109 ;) (type $FUNCSIG$id) (param $0 f64) (result i32)
|
||||||
local.get $0
|
local.get $0
|
||||||
local.get $0
|
local.get $0
|
||||||
f64.ne
|
f64.ne
|
||||||
@ -5152,11 +5152,11 @@
|
|||||||
local.get $0
|
local.get $0
|
||||||
local.get $2
|
local.get $2
|
||||||
call $~lib/array/Array<f64>#__get
|
call $~lib/array/Array<f64>#__get
|
||||||
call $~lib/builtins/isNaN<f64>
|
call $~lib/number/isNaN<f64>
|
||||||
local.get $1
|
local.get $1
|
||||||
local.get $2
|
local.get $2
|
||||||
call $~lib/array/Array<f64>#__get
|
call $~lib/array/Array<f64>#__get
|
||||||
call $~lib/builtins/isNaN<f64>
|
call $~lib/number/isNaN<f64>
|
||||||
i32.ne
|
i32.ne
|
||||||
if
|
if
|
||||||
local.get $0
|
local.get $0
|
||||||
@ -7693,7 +7693,7 @@
|
|||||||
call $~lib/rt/pure/__release
|
call $~lib/rt/pure/__release
|
||||||
local.get $0
|
local.get $0
|
||||||
)
|
)
|
||||||
(func $~lib/builtins/isFinite<f64> (; 165 ;) (type $FUNCSIG$id) (param $0 f64) (result i32)
|
(func $~lib/number/isFinite<f64> (; 165 ;) (type $FUNCSIG$id) (param $0 f64) (result i32)
|
||||||
local.get $0
|
local.get $0
|
||||||
local.get $0
|
local.get $0
|
||||||
f64.sub
|
f64.sub
|
||||||
@ -8652,11 +8652,11 @@
|
|||||||
return
|
return
|
||||||
end
|
end
|
||||||
local.get $0
|
local.get $0
|
||||||
call $~lib/builtins/isFinite<f64>
|
call $~lib/number/isFinite<f64>
|
||||||
i32.eqz
|
i32.eqz
|
||||||
if
|
if
|
||||||
local.get $0
|
local.get $0
|
||||||
call $~lib/builtins/isNaN<f64>
|
call $~lib/number/isNaN<f64>
|
||||||
if
|
if
|
||||||
i32.const 4944
|
i32.const 4944
|
||||||
call $~lib/rt/pure/__retain
|
call $~lib/rt/pure/__retain
|
||||||
@ -8718,11 +8718,11 @@
|
|||||||
return
|
return
|
||||||
end
|
end
|
||||||
local.get $2
|
local.get $2
|
||||||
call $~lib/builtins/isFinite<f64>
|
call $~lib/number/isFinite<f64>
|
||||||
i32.eqz
|
i32.eqz
|
||||||
if
|
if
|
||||||
local.get $2
|
local.get $2
|
||||||
call $~lib/builtins/isNaN<f64>
|
call $~lib/number/isNaN<f64>
|
||||||
if
|
if
|
||||||
local.get $0
|
local.get $0
|
||||||
i32.const 78
|
i32.const 78
|
||||||
|
@ -7311,7 +7311,7 @@
|
|||||||
local.get $1
|
local.get $1
|
||||||
call $~lib/array/Array<f32>#sort
|
call $~lib/array/Array<f32>#sort
|
||||||
)
|
)
|
||||||
(func $~lib/builtins/isNaN<f32> (; 135 ;) (type $FUNCSIG$if) (param $0 f32) (result i32)
|
(func $~lib/number/isNaN<f32> (; 135 ;) (type $FUNCSIG$if) (param $0 f32) (result i32)
|
||||||
local.get $0
|
local.get $0
|
||||||
local.get $0
|
local.get $0
|
||||||
f32.ne
|
f32.ne
|
||||||
@ -7372,11 +7372,11 @@
|
|||||||
local.get $0
|
local.get $0
|
||||||
local.get $3
|
local.get $3
|
||||||
call $~lib/array/Array<f32>#__get
|
call $~lib/array/Array<f32>#__get
|
||||||
call $~lib/builtins/isNaN<f32>
|
call $~lib/number/isNaN<f32>
|
||||||
local.get $1
|
local.get $1
|
||||||
local.get $3
|
local.get $3
|
||||||
call $~lib/array/Array<f32>#__get
|
call $~lib/array/Array<f32>#__get
|
||||||
call $~lib/builtins/isNaN<f32>
|
call $~lib/number/isNaN<f32>
|
||||||
i32.eq
|
i32.eq
|
||||||
if
|
if
|
||||||
br $continue|0
|
br $continue|0
|
||||||
@ -7966,7 +7966,7 @@
|
|||||||
local.get $1
|
local.get $1
|
||||||
call $~lib/array/Array<f64>#__unchecked_get
|
call $~lib/array/Array<f64>#__unchecked_get
|
||||||
)
|
)
|
||||||
(func $~lib/builtins/isNaN<f64> (; 145 ;) (type $FUNCSIG$id) (param $0 f64) (result i32)
|
(func $~lib/number/isNaN<f64> (; 145 ;) (type $FUNCSIG$id) (param $0 f64) (result i32)
|
||||||
local.get $0
|
local.get $0
|
||||||
local.get $0
|
local.get $0
|
||||||
f64.ne
|
f64.ne
|
||||||
@ -8027,11 +8027,11 @@
|
|||||||
local.get $0
|
local.get $0
|
||||||
local.get $3
|
local.get $3
|
||||||
call $~lib/array/Array<f64>#__get
|
call $~lib/array/Array<f64>#__get
|
||||||
call $~lib/builtins/isNaN<f64>
|
call $~lib/number/isNaN<f64>
|
||||||
local.get $1
|
local.get $1
|
||||||
local.get $3
|
local.get $3
|
||||||
call $~lib/array/Array<f64>#__get
|
call $~lib/array/Array<f64>#__get
|
||||||
call $~lib/builtins/isNaN<f64>
|
call $~lib/number/isNaN<f64>
|
||||||
i32.eq
|
i32.eq
|
||||||
if
|
if
|
||||||
br $continue|0
|
br $continue|0
|
||||||
@ -12880,7 +12880,7 @@
|
|||||||
local.get $2
|
local.get $2
|
||||||
return
|
return
|
||||||
)
|
)
|
||||||
(func $~lib/builtins/isFinite<f64> (; 240 ;) (type $FUNCSIG$id) (param $0 f64) (result i32)
|
(func $~lib/number/isFinite<f64> (; 240 ;) (type $FUNCSIG$id) (param $0 f64) (result i32)
|
||||||
local.get $0
|
local.get $0
|
||||||
local.get $0
|
local.get $0
|
||||||
f64.sub
|
f64.sub
|
||||||
@ -14242,11 +14242,11 @@
|
|||||||
return
|
return
|
||||||
end
|
end
|
||||||
local.get $0
|
local.get $0
|
||||||
call $~lib/builtins/isFinite<f64>
|
call $~lib/number/isFinite<f64>
|
||||||
i32.eqz
|
i32.eqz
|
||||||
if
|
if
|
||||||
local.get $0
|
local.get $0
|
||||||
call $~lib/builtins/isNaN<f64>
|
call $~lib/number/isNaN<f64>
|
||||||
if
|
if
|
||||||
i32.const 5392
|
i32.const 5392
|
||||||
call $~lib/rt/pure/__retain
|
call $~lib/rt/pure/__retain
|
||||||
@ -14314,11 +14314,11 @@
|
|||||||
return
|
return
|
||||||
end
|
end
|
||||||
local.get $2
|
local.get $2
|
||||||
call $~lib/builtins/isFinite<f64>
|
call $~lib/number/isFinite<f64>
|
||||||
i32.eqz
|
i32.eqz
|
||||||
if
|
if
|
||||||
local.get $2
|
local.get $2
|
||||||
call $~lib/builtins/isNaN<f64>
|
call $~lib/number/isNaN<f64>
|
||||||
if
|
if
|
||||||
local.get $0
|
local.get $0
|
||||||
i32.const 78
|
i32.const 78
|
||||||
|
@ -936,7 +936,7 @@
|
|||||||
local.get $0
|
local.get $0
|
||||||
call $~lib/math/NativeMath.asinh
|
call $~lib/math/NativeMath.asinh
|
||||||
)
|
)
|
||||||
(func $~lib/builtins/isNaN<f64> (; 15 ;) (type $FUNCSIG$id) (param $0 f64) (result i32)
|
(func $~lib/number/isNaN<f64> (; 15 ;) (type $FUNCSIG$id) (param $0 f64) (result i32)
|
||||||
local.get $0
|
local.get $0
|
||||||
local.get $0
|
local.get $0
|
||||||
f64.ne
|
f64.ne
|
||||||
@ -960,7 +960,7 @@
|
|||||||
i32.ge_u
|
i32.ge_u
|
||||||
if
|
if
|
||||||
local.get $0
|
local.get $0
|
||||||
call $~lib/builtins/isNaN<f64>
|
call $~lib/number/isNaN<f64>
|
||||||
if
|
if
|
||||||
local.get $0
|
local.get $0
|
||||||
return
|
return
|
||||||
@ -1239,12 +1239,12 @@
|
|||||||
(local $6 i32)
|
(local $6 i32)
|
||||||
(local $7 i32)
|
(local $7 i32)
|
||||||
local.get $1
|
local.get $1
|
||||||
call $~lib/builtins/isNaN<f64>
|
call $~lib/number/isNaN<f64>
|
||||||
if (result i32)
|
if (result i32)
|
||||||
i32.const 1
|
i32.const 1
|
||||||
else
|
else
|
||||||
local.get $0
|
local.get $0
|
||||||
call $~lib/builtins/isNaN<f64>
|
call $~lib/number/isNaN<f64>
|
||||||
end
|
end
|
||||||
if
|
if
|
||||||
local.get $1
|
local.get $1
|
||||||
@ -1614,7 +1614,7 @@
|
|||||||
local.get $0
|
local.get $0
|
||||||
f64.ceil
|
f64.ceil
|
||||||
)
|
)
|
||||||
(func $~lib/builtins/isFinite<f64> (; 25 ;) (type $FUNCSIG$id) (param $0 f64) (result i32)
|
(func $~lib/number/isFinite<f64> (; 25 ;) (type $FUNCSIG$id) (param $0 f64) (result i32)
|
||||||
local.get $0
|
local.get $0
|
||||||
local.get $0
|
local.get $0
|
||||||
f64.sub
|
f64.sub
|
||||||
@ -1623,7 +1623,7 @@
|
|||||||
)
|
)
|
||||||
(func $~lib/math/NativeMath.clz32 (; 26 ;) (type $FUNCSIG$dd) (param $0 f64) (result f64)
|
(func $~lib/math/NativeMath.clz32 (; 26 ;) (type $FUNCSIG$dd) (param $0 f64) (result f64)
|
||||||
local.get $0
|
local.get $0
|
||||||
call $~lib/builtins/isFinite<f64>
|
call $~lib/number/isFinite<f64>
|
||||||
i32.eqz
|
i32.eqz
|
||||||
if
|
if
|
||||||
f64.const 32
|
f64.const 32
|
||||||
@ -1677,7 +1677,7 @@
|
|||||||
i32.ge_u
|
i32.ge_u
|
||||||
if
|
if
|
||||||
local.get $0
|
local.get $0
|
||||||
call $~lib/builtins/isNaN<f64>
|
call $~lib/number/isNaN<f64>
|
||||||
if
|
if
|
||||||
local.get $0
|
local.get $0
|
||||||
return
|
return
|
||||||
@ -2024,7 +2024,7 @@
|
|||||||
i32.ge_u
|
i32.ge_u
|
||||||
if
|
if
|
||||||
local.get $0
|
local.get $0
|
||||||
call $~lib/builtins/isNaN<f64>
|
call $~lib/number/isNaN<f64>
|
||||||
if
|
if
|
||||||
local.get $0
|
local.get $0
|
||||||
return
|
return
|
||||||
@ -2418,7 +2418,7 @@
|
|||||||
local.get $0
|
local.get $0
|
||||||
local.get $1
|
local.get $1
|
||||||
f64.add
|
f64.add
|
||||||
call $~lib/builtins/isFinite<f64>
|
call $~lib/number/isFinite<f64>
|
||||||
i32.eqz
|
i32.eqz
|
||||||
if
|
if
|
||||||
f64.const 0
|
f64.const 0
|
||||||
@ -4651,7 +4651,7 @@
|
|||||||
local.get $0
|
local.get $0
|
||||||
call $~lib/math/NativeMathf.asinh
|
call $~lib/math/NativeMathf.asinh
|
||||||
)
|
)
|
||||||
(func $~lib/builtins/isNaN<f32> (; 74 ;) (type $FUNCSIG$if) (param $0 f32) (result i32)
|
(func $~lib/number/isNaN<f32> (; 74 ;) (type $FUNCSIG$if) (param $0 f32) (result i32)
|
||||||
local.get $0
|
local.get $0
|
||||||
local.get $0
|
local.get $0
|
||||||
f32.ne
|
f32.ne
|
||||||
@ -4672,7 +4672,7 @@
|
|||||||
i32.ge_u
|
i32.ge_u
|
||||||
if
|
if
|
||||||
local.get $0
|
local.get $0
|
||||||
call $~lib/builtins/isNaN<f32>
|
call $~lib/number/isNaN<f32>
|
||||||
if
|
if
|
||||||
local.get $0
|
local.get $0
|
||||||
return
|
return
|
||||||
@ -4917,12 +4917,12 @@
|
|||||||
(local $3 i32)
|
(local $3 i32)
|
||||||
(local $4 i32)
|
(local $4 i32)
|
||||||
local.get $1
|
local.get $1
|
||||||
call $~lib/builtins/isNaN<f32>
|
call $~lib/number/isNaN<f32>
|
||||||
if (result i32)
|
if (result i32)
|
||||||
i32.const 1
|
i32.const 1
|
||||||
else
|
else
|
||||||
local.get $0
|
local.get $0
|
||||||
call $~lib/builtins/isNaN<f32>
|
call $~lib/number/isNaN<f32>
|
||||||
end
|
end
|
||||||
if
|
if
|
||||||
local.get $1
|
local.get $1
|
||||||
@ -5248,7 +5248,7 @@
|
|||||||
local.get $0
|
local.get $0
|
||||||
f32.ceil
|
f32.ceil
|
||||||
)
|
)
|
||||||
(func $~lib/builtins/isFinite<f32> (; 84 ;) (type $FUNCSIG$if) (param $0 f32) (result i32)
|
(func $~lib/number/isFinite<f32> (; 84 ;) (type $FUNCSIG$if) (param $0 f32) (result i32)
|
||||||
local.get $0
|
local.get $0
|
||||||
local.get $0
|
local.get $0
|
||||||
f32.sub
|
f32.sub
|
||||||
@ -5257,7 +5257,7 @@
|
|||||||
)
|
)
|
||||||
(func $~lib/math/NativeMathf.clz32 (; 85 ;) (type $FUNCSIG$ff) (param $0 f32) (result f32)
|
(func $~lib/math/NativeMathf.clz32 (; 85 ;) (type $FUNCSIG$ff) (param $0 f32) (result f32)
|
||||||
local.get $0
|
local.get $0
|
||||||
call $~lib/builtins/isFinite<f32>
|
call $~lib/number/isFinite<f32>
|
||||||
i32.eqz
|
i32.eqz
|
||||||
if
|
if
|
||||||
f32.const 32
|
f32.const 32
|
||||||
@ -6217,7 +6217,7 @@
|
|||||||
local.get $0
|
local.get $0
|
||||||
local.get $1
|
local.get $1
|
||||||
f32.add
|
f32.add
|
||||||
call $~lib/builtins/isFinite<f32>
|
call $~lib/number/isFinite<f32>
|
||||||
i32.eqz
|
i32.eqz
|
||||||
br_if $~lib/math/NativeMathf.imul|inlined.0
|
br_if $~lib/math/NativeMathf.imul|inlined.0
|
||||||
drop
|
drop
|
||||||
|
@ -1108,7 +1108,7 @@
|
|||||||
local.get $0
|
local.get $0
|
||||||
call $~lib/math/NativeMath.asinh
|
call $~lib/math/NativeMath.asinh
|
||||||
)
|
)
|
||||||
(func $~lib/builtins/isNaN<f64> (; 15 ;) (type $FUNCSIG$id) (param $0 f64) (result i32)
|
(func $~lib/number/isNaN<f64> (; 15 ;) (type $FUNCSIG$id) (param $0 f64) (result i32)
|
||||||
local.get $0
|
local.get $0
|
||||||
local.get $0
|
local.get $0
|
||||||
f64.ne
|
f64.ne
|
||||||
@ -1140,7 +1140,7 @@
|
|||||||
i32.ge_u
|
i32.ge_u
|
||||||
if
|
if
|
||||||
local.get $0
|
local.get $0
|
||||||
call $~lib/builtins/isNaN<f64>
|
call $~lib/number/isNaN<f64>
|
||||||
if
|
if
|
||||||
local.get $0
|
local.get $0
|
||||||
return
|
return
|
||||||
@ -1472,12 +1472,12 @@
|
|||||||
(local $8 i32)
|
(local $8 i32)
|
||||||
(local $9 f64)
|
(local $9 f64)
|
||||||
local.get $1
|
local.get $1
|
||||||
call $~lib/builtins/isNaN<f64>
|
call $~lib/number/isNaN<f64>
|
||||||
if (result i32)
|
if (result i32)
|
||||||
i32.const 1
|
i32.const 1
|
||||||
else
|
else
|
||||||
local.get $0
|
local.get $0
|
||||||
call $~lib/builtins/isNaN<f64>
|
call $~lib/number/isNaN<f64>
|
||||||
end
|
end
|
||||||
if
|
if
|
||||||
local.get $1
|
local.get $1
|
||||||
@ -1962,7 +1962,7 @@
|
|||||||
local.get $1
|
local.get $1
|
||||||
f64.ceil
|
f64.ceil
|
||||||
)
|
)
|
||||||
(func $~lib/builtins/isFinite<f64> (; 25 ;) (type $FUNCSIG$id) (param $0 f64) (result i32)
|
(func $~lib/number/isFinite<f64> (; 25 ;) (type $FUNCSIG$id) (param $0 f64) (result i32)
|
||||||
local.get $0
|
local.get $0
|
||||||
local.get $0
|
local.get $0
|
||||||
f64.sub
|
f64.sub
|
||||||
@ -1971,7 +1971,7 @@
|
|||||||
)
|
)
|
||||||
(func $~lib/math/NativeMath.clz32 (; 26 ;) (type $FUNCSIG$dd) (param $0 f64) (result f64)
|
(func $~lib/math/NativeMath.clz32 (; 26 ;) (type $FUNCSIG$dd) (param $0 f64) (result f64)
|
||||||
local.get $0
|
local.get $0
|
||||||
call $~lib/builtins/isFinite<f64>
|
call $~lib/number/isFinite<f64>
|
||||||
i32.eqz
|
i32.eqz
|
||||||
if
|
if
|
||||||
f64.const 32
|
f64.const 32
|
||||||
@ -2042,7 +2042,7 @@
|
|||||||
i32.ge_u
|
i32.ge_u
|
||||||
if
|
if
|
||||||
local.get $0
|
local.get $0
|
||||||
call $~lib/builtins/isNaN<f64>
|
call $~lib/number/isNaN<f64>
|
||||||
if
|
if
|
||||||
local.get $0
|
local.get $0
|
||||||
return
|
return
|
||||||
@ -2436,7 +2436,7 @@
|
|||||||
i32.ge_u
|
i32.ge_u
|
||||||
if
|
if
|
||||||
local.get $0
|
local.get $0
|
||||||
call $~lib/builtins/isNaN<f64>
|
call $~lib/number/isNaN<f64>
|
||||||
if
|
if
|
||||||
local.get $0
|
local.get $0
|
||||||
return
|
return
|
||||||
@ -2894,7 +2894,7 @@
|
|||||||
local.get $0
|
local.get $0
|
||||||
local.get $1
|
local.get $1
|
||||||
f64.add
|
f64.add
|
||||||
call $~lib/builtins/isFinite<f64>
|
call $~lib/number/isFinite<f64>
|
||||||
i32.eqz
|
i32.eqz
|
||||||
if
|
if
|
||||||
f64.const 0
|
f64.const 0
|
||||||
@ -5611,7 +5611,7 @@
|
|||||||
local.get $0
|
local.get $0
|
||||||
call $~lib/math/NativeMathf.asinh
|
call $~lib/math/NativeMathf.asinh
|
||||||
)
|
)
|
||||||
(func $~lib/builtins/isNaN<f32> (; 77 ;) (type $FUNCSIG$if) (param $0 f32) (result i32)
|
(func $~lib/number/isNaN<f32> (; 77 ;) (type $FUNCSIG$if) (param $0 f32) (result i32)
|
||||||
local.get $0
|
local.get $0
|
||||||
local.get $0
|
local.get $0
|
||||||
f32.ne
|
f32.ne
|
||||||
@ -5640,7 +5640,7 @@
|
|||||||
i32.ge_u
|
i32.ge_u
|
||||||
if
|
if
|
||||||
local.get $0
|
local.get $0
|
||||||
call $~lib/builtins/isNaN<f32>
|
call $~lib/number/isNaN<f32>
|
||||||
if
|
if
|
||||||
local.get $0
|
local.get $0
|
||||||
return
|
return
|
||||||
@ -5930,12 +5930,12 @@
|
|||||||
(local $5 i32)
|
(local $5 i32)
|
||||||
(local $6 f32)
|
(local $6 f32)
|
||||||
local.get $1
|
local.get $1
|
||||||
call $~lib/builtins/isNaN<f32>
|
call $~lib/number/isNaN<f32>
|
||||||
if (result i32)
|
if (result i32)
|
||||||
i32.const 1
|
i32.const 1
|
||||||
else
|
else
|
||||||
local.get $0
|
local.get $0
|
||||||
call $~lib/builtins/isNaN<f32>
|
call $~lib/number/isNaN<f32>
|
||||||
end
|
end
|
||||||
if
|
if
|
||||||
local.get $1
|
local.get $1
|
||||||
@ -6368,7 +6368,7 @@
|
|||||||
local.get $1
|
local.get $1
|
||||||
f32.ceil
|
f32.ceil
|
||||||
)
|
)
|
||||||
(func $~lib/builtins/isFinite<f32> (; 87 ;) (type $FUNCSIG$if) (param $0 f32) (result i32)
|
(func $~lib/number/isFinite<f32> (; 87 ;) (type $FUNCSIG$if) (param $0 f32) (result i32)
|
||||||
local.get $0
|
local.get $0
|
||||||
local.get $0
|
local.get $0
|
||||||
f32.sub
|
f32.sub
|
||||||
@ -6377,7 +6377,7 @@
|
|||||||
)
|
)
|
||||||
(func $~lib/math/NativeMathf.clz32 (; 88 ;) (type $FUNCSIG$ff) (param $0 f32) (result f32)
|
(func $~lib/math/NativeMathf.clz32 (; 88 ;) (type $FUNCSIG$ff) (param $0 f32) (result f32)
|
||||||
local.get $0
|
local.get $0
|
||||||
call $~lib/builtins/isFinite<f32>
|
call $~lib/number/isFinite<f32>
|
||||||
i32.eqz
|
i32.eqz
|
||||||
if
|
if
|
||||||
f32.const 32
|
f32.const 32
|
||||||
@ -7812,7 +7812,7 @@
|
|||||||
local.get $3
|
local.get $3
|
||||||
local.get $2
|
local.get $2
|
||||||
f32.add
|
f32.add
|
||||||
call $~lib/builtins/isFinite<f32>
|
call $~lib/number/isFinite<f32>
|
||||||
i32.eqz
|
i32.eqz
|
||||||
if
|
if
|
||||||
f32.const 0
|
f32.const 0
|
||||||
|
@ -77,12 +77,12 @@
|
|||||||
(global $~lib/math/random_state1_32 (mut i32) (i32.const 0))
|
(global $~lib/math/random_state1_32 (mut i32) (i32.const 0))
|
||||||
(export "memory" (memory $0))
|
(export "memory" (memory $0))
|
||||||
(start $start)
|
(start $start)
|
||||||
(func $~lib/builtins/isNaN<f64> (; 30 ;) (type $FUNCSIG$id) (param $0 f64) (result i32)
|
(func $~lib/number/isNaN<f64> (; 30 ;) (type $FUNCSIG$id) (param $0 f64) (result i32)
|
||||||
local.get $0
|
local.get $0
|
||||||
local.get $0
|
local.get $0
|
||||||
f64.ne
|
f64.ne
|
||||||
)
|
)
|
||||||
(func $~lib/builtins/isFinite<f64> (; 31 ;) (type $FUNCSIG$id) (param $0 f64) (result i32)
|
(func $~lib/number/isFinite<f64> (; 31 ;) (type $FUNCSIG$id) (param $0 f64) (result i32)
|
||||||
local.get $0
|
local.get $0
|
||||||
local.get $0
|
local.get $0
|
||||||
f64.sub
|
f64.sub
|
||||||
@ -169,10 +169,10 @@
|
|||||||
(func $std/math/ulperr (; 33 ;) (type $FUNCSIG$dddd) (param $0 f64) (param $1 f64) (param $2 f64) (result f64)
|
(func $std/math/ulperr (; 33 ;) (type $FUNCSIG$dddd) (param $0 f64) (param $1 f64) (param $2 f64) (result f64)
|
||||||
(local $3 i32)
|
(local $3 i32)
|
||||||
local.get $0
|
local.get $0
|
||||||
call $~lib/builtins/isNaN<f64>
|
call $~lib/number/isNaN<f64>
|
||||||
if (result i32)
|
if (result i32)
|
||||||
local.get $1
|
local.get $1
|
||||||
call $~lib/builtins/isNaN<f64>
|
call $~lib/number/isNaN<f64>
|
||||||
else
|
else
|
||||||
i32.const 0
|
i32.const 0
|
||||||
end
|
end
|
||||||
@ -215,7 +215,7 @@
|
|||||||
return
|
return
|
||||||
end
|
end
|
||||||
local.get $0
|
local.get $0
|
||||||
call $~lib/builtins/isFinite<f64>
|
call $~lib/number/isFinite<f64>
|
||||||
i32.eqz
|
i32.eqz
|
||||||
if
|
if
|
||||||
local.get $1
|
local.get $1
|
||||||
@ -265,10 +265,10 @@
|
|||||||
return
|
return
|
||||||
end
|
end
|
||||||
local.get $1
|
local.get $1
|
||||||
call $~lib/builtins/isNaN<f64>
|
call $~lib/number/isNaN<f64>
|
||||||
if
|
if
|
||||||
local.get $0
|
local.get $0
|
||||||
call $~lib/builtins/isNaN<f64>
|
call $~lib/number/isNaN<f64>
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
local.get $0
|
local.get $0
|
||||||
@ -284,7 +284,7 @@
|
|||||||
end
|
end
|
||||||
i32.const 1
|
i32.const 1
|
||||||
)
|
)
|
||||||
(func $~lib/builtins/isNaN<f32> (; 35 ;) (type $FUNCSIG$if) (param $0 f32) (result i32)
|
(func $~lib/number/isNaN<f32> (; 35 ;) (type $FUNCSIG$if) (param $0 f32) (result i32)
|
||||||
local.get $0
|
local.get $0
|
||||||
local.get $0
|
local.get $0
|
||||||
f32.ne
|
f32.ne
|
||||||
@ -368,10 +368,10 @@
|
|||||||
(func $std/math/ulperrf (; 37 ;) (type $FUNCSIG$ffff) (param $0 f32) (param $1 f32) (param $2 f32) (result f32)
|
(func $std/math/ulperrf (; 37 ;) (type $FUNCSIG$ffff) (param $0 f32) (param $1 f32) (param $2 f32) (result f32)
|
||||||
(local $3 i32)
|
(local $3 i32)
|
||||||
local.get $0
|
local.get $0
|
||||||
call $~lib/builtins/isNaN<f32>
|
call $~lib/number/isNaN<f32>
|
||||||
if (result i32)
|
if (result i32)
|
||||||
local.get $1
|
local.get $1
|
||||||
call $~lib/builtins/isNaN<f32>
|
call $~lib/number/isNaN<f32>
|
||||||
else
|
else
|
||||||
i32.const 0
|
i32.const 0
|
||||||
end
|
end
|
||||||
@ -463,10 +463,10 @@
|
|||||||
return
|
return
|
||||||
end
|
end
|
||||||
local.get $1
|
local.get $1
|
||||||
call $~lib/builtins/isNaN<f32>
|
call $~lib/number/isNaN<f32>
|
||||||
if
|
if
|
||||||
local.get $0
|
local.get $0
|
||||||
call $~lib/builtins/isNaN<f32>
|
call $~lib/number/isNaN<f32>
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
local.get $0
|
local.get $0
|
||||||
@ -2065,7 +2065,7 @@
|
|||||||
i32.ge_u
|
i32.ge_u
|
||||||
if
|
if
|
||||||
local.get $0
|
local.get $0
|
||||||
call $~lib/builtins/isNaN<f64>
|
call $~lib/number/isNaN<f64>
|
||||||
if
|
if
|
||||||
local.get $0
|
local.get $0
|
||||||
return
|
return
|
||||||
@ -2303,7 +2303,7 @@
|
|||||||
i32.ge_u
|
i32.ge_u
|
||||||
if
|
if
|
||||||
local.get $0
|
local.get $0
|
||||||
call $~lib/builtins/isNaN<f32>
|
call $~lib/number/isNaN<f32>
|
||||||
if
|
if
|
||||||
local.get $0
|
local.get $0
|
||||||
return
|
return
|
||||||
@ -2630,12 +2630,12 @@
|
|||||||
(local $6 i32)
|
(local $6 i32)
|
||||||
(local $7 i32)
|
(local $7 i32)
|
||||||
local.get $1
|
local.get $1
|
||||||
call $~lib/builtins/isNaN<f64>
|
call $~lib/number/isNaN<f64>
|
||||||
if (result i32)
|
if (result i32)
|
||||||
i32.const 1
|
i32.const 1
|
||||||
else
|
else
|
||||||
local.get $0
|
local.get $0
|
||||||
call $~lib/builtins/isNaN<f64>
|
call $~lib/number/isNaN<f64>
|
||||||
end
|
end
|
||||||
if
|
if
|
||||||
local.get $1
|
local.get $1
|
||||||
@ -2893,12 +2893,12 @@
|
|||||||
(local $3 i32)
|
(local $3 i32)
|
||||||
(local $4 i32)
|
(local $4 i32)
|
||||||
local.get $1
|
local.get $1
|
||||||
call $~lib/builtins/isNaN<f32>
|
call $~lib/number/isNaN<f32>
|
||||||
if (result i32)
|
if (result i32)
|
||||||
i32.const 1
|
i32.const 1
|
||||||
else
|
else
|
||||||
local.get $0
|
local.get $0
|
||||||
call $~lib/builtins/isNaN<f32>
|
call $~lib/number/isNaN<f32>
|
||||||
end
|
end
|
||||||
if
|
if
|
||||||
local.get $1
|
local.get $1
|
||||||
@ -3702,7 +3702,7 @@
|
|||||||
i32.ge_u
|
i32.ge_u
|
||||||
if
|
if
|
||||||
local.get $0
|
local.get $0
|
||||||
call $~lib/builtins/isNaN<f64>
|
call $~lib/number/isNaN<f64>
|
||||||
if
|
if
|
||||||
local.get $0
|
local.get $0
|
||||||
return
|
return
|
||||||
@ -3972,7 +3972,7 @@
|
|||||||
i32.ge_u
|
i32.ge_u
|
||||||
if
|
if
|
||||||
local.get $0
|
local.get $0
|
||||||
call $~lib/builtins/isNaN<f64>
|
call $~lib/number/isNaN<f64>
|
||||||
if
|
if
|
||||||
local.get $0
|
local.get $0
|
||||||
return
|
return
|
||||||
@ -5898,7 +5898,7 @@
|
|||||||
i32.const 1
|
i32.const 1
|
||||||
else
|
else
|
||||||
local.get $1
|
local.get $1
|
||||||
call $~lib/builtins/isNaN<f64>
|
call $~lib/number/isNaN<f64>
|
||||||
end
|
end
|
||||||
if
|
if
|
||||||
local.get $0
|
local.get $0
|
||||||
@ -6117,7 +6117,7 @@
|
|||||||
i32.const 1
|
i32.const 1
|
||||||
else
|
else
|
||||||
local.get $1
|
local.get $1
|
||||||
call $~lib/builtins/isNaN<f32>
|
call $~lib/number/isNaN<f32>
|
||||||
end
|
end
|
||||||
if
|
if
|
||||||
local.get $0
|
local.get $0
|
||||||
@ -8277,7 +8277,7 @@
|
|||||||
i32.const 1
|
i32.const 1
|
||||||
else
|
else
|
||||||
local.get $1
|
local.get $1
|
||||||
call $~lib/builtins/isNaN<f64>
|
call $~lib/number/isNaN<f64>
|
||||||
end
|
end
|
||||||
if
|
if
|
||||||
local.get $0
|
local.get $0
|
||||||
@ -8539,7 +8539,7 @@
|
|||||||
i32.const 1
|
i32.const 1
|
||||||
else
|
else
|
||||||
local.get $1
|
local.get $1
|
||||||
call $~lib/builtins/isNaN<f32>
|
call $~lib/number/isNaN<f32>
|
||||||
end
|
end
|
||||||
if
|
if
|
||||||
local.get $0
|
local.get $0
|
||||||
@ -9699,7 +9699,7 @@
|
|||||||
local.get $0
|
local.get $0
|
||||||
local.get $1
|
local.get $1
|
||||||
f64.add
|
f64.add
|
||||||
call $~lib/builtins/isFinite<f64>
|
call $~lib/number/isFinite<f64>
|
||||||
i32.eqz
|
i32.eqz
|
||||||
if
|
if
|
||||||
f64.const 0
|
f64.const 0
|
||||||
@ -9730,7 +9730,7 @@
|
|||||||
)
|
)
|
||||||
(func $~lib/math/NativeMath.clz32 (; 158 ;) (type $FUNCSIG$dd) (param $0 f64) (result f64)
|
(func $~lib/math/NativeMath.clz32 (; 158 ;) (type $FUNCSIG$dd) (param $0 f64) (result f64)
|
||||||
local.get $0
|
local.get $0
|
||||||
call $~lib/builtins/isFinite<f64>
|
call $~lib/number/isFinite<f64>
|
||||||
i32.eqz
|
i32.eqz
|
||||||
if
|
if
|
||||||
f64.const 32
|
f64.const 32
|
||||||
@ -39511,7 +39511,7 @@
|
|||||||
f32.const nan:0x400000
|
f32.const nan:0x400000
|
||||||
i32.const 1
|
i32.const 1
|
||||||
call $~lib/math/ipow32f
|
call $~lib/math/ipow32f
|
||||||
call $~lib/builtins/isNaN<f32>
|
call $~lib/number/isNaN<f32>
|
||||||
i32.eqz
|
i32.eqz
|
||||||
if
|
if
|
||||||
i32.const 0
|
i32.const 0
|
||||||
@ -39524,7 +39524,7 @@
|
|||||||
f32.const nan:0x400000
|
f32.const nan:0x400000
|
||||||
i32.const -1
|
i32.const -1
|
||||||
call $~lib/math/ipow32f
|
call $~lib/math/ipow32f
|
||||||
call $~lib/builtins/isNaN<f32>
|
call $~lib/number/isNaN<f32>
|
||||||
i32.eqz
|
i32.eqz
|
||||||
if
|
if
|
||||||
i32.const 0
|
i32.const 0
|
||||||
@ -39537,7 +39537,7 @@
|
|||||||
f32.const nan:0x400000
|
f32.const nan:0x400000
|
||||||
i32.const 2
|
i32.const 2
|
||||||
call $~lib/math/ipow32f
|
call $~lib/math/ipow32f
|
||||||
call $~lib/builtins/isNaN<f32>
|
call $~lib/number/isNaN<f32>
|
||||||
i32.eqz
|
i32.eqz
|
||||||
if
|
if
|
||||||
i32.const 0
|
i32.const 0
|
||||||
@ -39719,7 +39719,7 @@
|
|||||||
f64.const nan:0x8000000000000
|
f64.const nan:0x8000000000000
|
||||||
i32.const 1
|
i32.const 1
|
||||||
call $~lib/math/ipow64f
|
call $~lib/math/ipow64f
|
||||||
call $~lib/builtins/isNaN<f64>
|
call $~lib/number/isNaN<f64>
|
||||||
i32.eqz
|
i32.eqz
|
||||||
if
|
if
|
||||||
i32.const 0
|
i32.const 0
|
||||||
@ -39732,7 +39732,7 @@
|
|||||||
f64.const nan:0x8000000000000
|
f64.const nan:0x8000000000000
|
||||||
i32.const -1
|
i32.const -1
|
||||||
call $~lib/math/ipow64f
|
call $~lib/math/ipow64f
|
||||||
call $~lib/builtins/isNaN<f64>
|
call $~lib/number/isNaN<f64>
|
||||||
i32.eqz
|
i32.eqz
|
||||||
if
|
if
|
||||||
i32.const 0
|
i32.const 0
|
||||||
@ -39745,7 +39745,7 @@
|
|||||||
f64.const nan:0x8000000000000
|
f64.const nan:0x8000000000000
|
||||||
i32.const 2
|
i32.const 2
|
||||||
call $~lib/math/ipow64f
|
call $~lib/math/ipow64f
|
||||||
call $~lib/builtins/isNaN<f64>
|
call $~lib/number/isNaN<f64>
|
||||||
i32.eqz
|
i32.eqz
|
||||||
if
|
if
|
||||||
i32.const 0
|
i32.const 0
|
||||||
|
@ -105,12 +105,12 @@
|
|||||||
(global $~lib/builtins/f32.MIN_VALUE f32 (f32.const 1.401298464324817e-45))
|
(global $~lib/builtins/f32.MIN_VALUE f32 (f32.const 1.401298464324817e-45))
|
||||||
(export "memory" (memory $0))
|
(export "memory" (memory $0))
|
||||||
(start $start)
|
(start $start)
|
||||||
(func $~lib/builtins/isNaN<f64> (; 30 ;) (type $FUNCSIG$id) (param $0 f64) (result i32)
|
(func $~lib/number/isNaN<f64> (; 30 ;) (type $FUNCSIG$id) (param $0 f64) (result i32)
|
||||||
local.get $0
|
local.get $0
|
||||||
local.get $0
|
local.get $0
|
||||||
f64.ne
|
f64.ne
|
||||||
)
|
)
|
||||||
(func $~lib/builtins/isFinite<f64> (; 31 ;) (type $FUNCSIG$id) (param $0 f64) (result i32)
|
(func $~lib/number/isFinite<f64> (; 31 ;) (type $FUNCSIG$id) (param $0 f64) (result i32)
|
||||||
local.get $0
|
local.get $0
|
||||||
local.get $0
|
local.get $0
|
||||||
f64.sub
|
f64.sub
|
||||||
@ -238,10 +238,10 @@
|
|||||||
(func $std/math/ulperr (; 34 ;) (type $FUNCSIG$dddd) (param $0 f64) (param $1 f64) (param $2 f64) (result f64)
|
(func $std/math/ulperr (; 34 ;) (type $FUNCSIG$dddd) (param $0 f64) (param $1 f64) (param $2 f64) (result f64)
|
||||||
(local $3 f64)
|
(local $3 f64)
|
||||||
local.get $0
|
local.get $0
|
||||||
call $~lib/builtins/isNaN<f64>
|
call $~lib/number/isNaN<f64>
|
||||||
if (result i32)
|
if (result i32)
|
||||||
local.get $1
|
local.get $1
|
||||||
call $~lib/builtins/isNaN<f64>
|
call $~lib/number/isNaN<f64>
|
||||||
else
|
else
|
||||||
i32.const 0
|
i32.const 0
|
||||||
end
|
end
|
||||||
@ -292,7 +292,7 @@
|
|||||||
return
|
return
|
||||||
end
|
end
|
||||||
local.get $0
|
local.get $0
|
||||||
call $~lib/builtins/isFinite<f64>
|
call $~lib/number/isFinite<f64>
|
||||||
i32.eqz
|
i32.eqz
|
||||||
if
|
if
|
||||||
f64.const 8988465674311579538646525e283
|
f64.const 8988465674311579538646525e283
|
||||||
@ -325,10 +325,10 @@
|
|||||||
return
|
return
|
||||||
end
|
end
|
||||||
local.get $1
|
local.get $1
|
||||||
call $~lib/builtins/isNaN<f64>
|
call $~lib/number/isNaN<f64>
|
||||||
if
|
if
|
||||||
local.get $0
|
local.get $0
|
||||||
call $~lib/builtins/isNaN<f64>
|
call $~lib/number/isNaN<f64>
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
local.get $0
|
local.get $0
|
||||||
@ -346,12 +346,12 @@
|
|||||||
end
|
end
|
||||||
i32.const 1
|
i32.const 1
|
||||||
)
|
)
|
||||||
(func $~lib/builtins/isNaN<f32> (; 36 ;) (type $FUNCSIG$if) (param $0 f32) (result i32)
|
(func $~lib/number/isNaN<f32> (; 36 ;) (type $FUNCSIG$if) (param $0 f32) (result i32)
|
||||||
local.get $0
|
local.get $0
|
||||||
local.get $0
|
local.get $0
|
||||||
f32.ne
|
f32.ne
|
||||||
)
|
)
|
||||||
(func $~lib/builtins/isFinite<f32> (; 37 ;) (type $FUNCSIG$if) (param $0 f32) (result i32)
|
(func $~lib/number/isFinite<f32> (; 37 ;) (type $FUNCSIG$if) (param $0 f32) (result i32)
|
||||||
local.get $0
|
local.get $0
|
||||||
local.get $0
|
local.get $0
|
||||||
f32.sub
|
f32.sub
|
||||||
@ -477,10 +477,10 @@
|
|||||||
(func $std/math/ulperrf (; 40 ;) (type $FUNCSIG$ffff) (param $0 f32) (param $1 f32) (param $2 f32) (result f32)
|
(func $std/math/ulperrf (; 40 ;) (type $FUNCSIG$ffff) (param $0 f32) (param $1 f32) (param $2 f32) (result f32)
|
||||||
(local $3 f32)
|
(local $3 f32)
|
||||||
local.get $0
|
local.get $0
|
||||||
call $~lib/builtins/isNaN<f32>
|
call $~lib/number/isNaN<f32>
|
||||||
if (result i32)
|
if (result i32)
|
||||||
local.get $1
|
local.get $1
|
||||||
call $~lib/builtins/isNaN<f32>
|
call $~lib/number/isNaN<f32>
|
||||||
else
|
else
|
||||||
i32.const 0
|
i32.const 0
|
||||||
end
|
end
|
||||||
@ -529,7 +529,7 @@
|
|||||||
return
|
return
|
||||||
end
|
end
|
||||||
local.get $0
|
local.get $0
|
||||||
call $~lib/builtins/isFinite<f32>
|
call $~lib/number/isFinite<f32>
|
||||||
i32.eqz
|
i32.eqz
|
||||||
if
|
if
|
||||||
f32.const 1701411834604692317316873e14
|
f32.const 1701411834604692317316873e14
|
||||||
@ -562,10 +562,10 @@
|
|||||||
return
|
return
|
||||||
end
|
end
|
||||||
local.get $1
|
local.get $1
|
||||||
call $~lib/builtins/isNaN<f32>
|
call $~lib/number/isNaN<f32>
|
||||||
if
|
if
|
||||||
local.get $0
|
local.get $0
|
||||||
call $~lib/builtins/isNaN<f32>
|
call $~lib/number/isNaN<f32>
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
local.get $0
|
local.get $0
|
||||||
@ -2505,7 +2505,7 @@
|
|||||||
i32.ge_u
|
i32.ge_u
|
||||||
if
|
if
|
||||||
local.get $0
|
local.get $0
|
||||||
call $~lib/builtins/isNaN<f64>
|
call $~lib/number/isNaN<f64>
|
||||||
if
|
if
|
||||||
local.get $0
|
local.get $0
|
||||||
return
|
return
|
||||||
@ -2799,7 +2799,7 @@
|
|||||||
i32.ge_u
|
i32.ge_u
|
||||||
if
|
if
|
||||||
local.get $0
|
local.get $0
|
||||||
call $~lib/builtins/isNaN<f32>
|
call $~lib/number/isNaN<f32>
|
||||||
if
|
if
|
||||||
local.get $0
|
local.get $0
|
||||||
return
|
return
|
||||||
@ -3192,12 +3192,12 @@
|
|||||||
(local $8 i32)
|
(local $8 i32)
|
||||||
(local $9 f64)
|
(local $9 f64)
|
||||||
local.get $1
|
local.get $1
|
||||||
call $~lib/builtins/isNaN<f64>
|
call $~lib/number/isNaN<f64>
|
||||||
if (result i32)
|
if (result i32)
|
||||||
i32.const 1
|
i32.const 1
|
||||||
else
|
else
|
||||||
local.get $0
|
local.get $0
|
||||||
call $~lib/builtins/isNaN<f64>
|
call $~lib/number/isNaN<f64>
|
||||||
end
|
end
|
||||||
if
|
if
|
||||||
local.get $1
|
local.get $1
|
||||||
@ -3555,12 +3555,12 @@
|
|||||||
(local $5 i32)
|
(local $5 i32)
|
||||||
(local $6 f32)
|
(local $6 f32)
|
||||||
local.get $1
|
local.get $1
|
||||||
call $~lib/builtins/isNaN<f32>
|
call $~lib/number/isNaN<f32>
|
||||||
if (result i32)
|
if (result i32)
|
||||||
i32.const 1
|
i32.const 1
|
||||||
else
|
else
|
||||||
local.get $0
|
local.get $0
|
||||||
call $~lib/builtins/isNaN<f32>
|
call $~lib/number/isNaN<f32>
|
||||||
end
|
end
|
||||||
if
|
if
|
||||||
local.get $1
|
local.get $1
|
||||||
@ -4892,7 +4892,7 @@
|
|||||||
i32.ge_u
|
i32.ge_u
|
||||||
if
|
if
|
||||||
local.get $0
|
local.get $0
|
||||||
call $~lib/builtins/isNaN<f64>
|
call $~lib/number/isNaN<f64>
|
||||||
if
|
if
|
||||||
local.get $0
|
local.get $0
|
||||||
return
|
return
|
||||||
@ -5195,7 +5195,7 @@
|
|||||||
i32.ge_u
|
i32.ge_u
|
||||||
if
|
if
|
||||||
local.get $0
|
local.get $0
|
||||||
call $~lib/builtins/isNaN<f64>
|
call $~lib/number/isNaN<f64>
|
||||||
if
|
if
|
||||||
local.get $0
|
local.get $0
|
||||||
return
|
return
|
||||||
@ -7611,7 +7611,7 @@
|
|||||||
i32.const 1
|
i32.const 1
|
||||||
else
|
else
|
||||||
local.get $1
|
local.get $1
|
||||||
call $~lib/builtins/isNaN<f64>
|
call $~lib/number/isNaN<f64>
|
||||||
end
|
end
|
||||||
if
|
if
|
||||||
local.get $0
|
local.get $0
|
||||||
@ -7885,7 +7885,7 @@
|
|||||||
i32.const 1
|
i32.const 1
|
||||||
else
|
else
|
||||||
local.get $1
|
local.get $1
|
||||||
call $~lib/builtins/isNaN<f32>
|
call $~lib/number/isNaN<f32>
|
||||||
end
|
end
|
||||||
if
|
if
|
||||||
local.get $0
|
local.get $0
|
||||||
@ -10500,7 +10500,7 @@
|
|||||||
i32.const 1
|
i32.const 1
|
||||||
else
|
else
|
||||||
local.get $1
|
local.get $1
|
||||||
call $~lib/builtins/isNaN<f64>
|
call $~lib/number/isNaN<f64>
|
||||||
end
|
end
|
||||||
if
|
if
|
||||||
local.get $0
|
local.get $0
|
||||||
@ -10823,7 +10823,7 @@
|
|||||||
i32.const 1
|
i32.const 1
|
||||||
else
|
else
|
||||||
local.get $1
|
local.get $1
|
||||||
call $~lib/builtins/isNaN<f32>
|
call $~lib/number/isNaN<f32>
|
||||||
end
|
end
|
||||||
if
|
if
|
||||||
local.get $0
|
local.get $0
|
||||||
@ -12930,7 +12930,7 @@
|
|||||||
local.get $0
|
local.get $0
|
||||||
local.get $1
|
local.get $1
|
||||||
f64.add
|
f64.add
|
||||||
call $~lib/builtins/isFinite<f64>
|
call $~lib/number/isFinite<f64>
|
||||||
i32.eqz
|
i32.eqz
|
||||||
if
|
if
|
||||||
f64.const 0
|
f64.const 0
|
||||||
@ -12961,7 +12961,7 @@
|
|||||||
)
|
)
|
||||||
(func $~lib/math/NativeMath.clz32 (; 161 ;) (type $FUNCSIG$dd) (param $0 f64) (result f64)
|
(func $~lib/math/NativeMath.clz32 (; 161 ;) (type $FUNCSIG$dd) (param $0 f64) (result f64)
|
||||||
local.get $0
|
local.get $0
|
||||||
call $~lib/builtins/isFinite<f64>
|
call $~lib/number/isFinite<f64>
|
||||||
i32.eqz
|
i32.eqz
|
||||||
if
|
if
|
||||||
f64.const 32
|
f64.const 32
|
||||||
@ -47130,7 +47130,7 @@
|
|||||||
f32.const nan:0x400000
|
f32.const nan:0x400000
|
||||||
i32.const 1
|
i32.const 1
|
||||||
call $~lib/math/ipow32f
|
call $~lib/math/ipow32f
|
||||||
call $~lib/builtins/isNaN<f32>
|
call $~lib/number/isNaN<f32>
|
||||||
i32.eqz
|
i32.eqz
|
||||||
if
|
if
|
||||||
i32.const 0
|
i32.const 0
|
||||||
@ -47143,7 +47143,7 @@
|
|||||||
f32.const nan:0x400000
|
f32.const nan:0x400000
|
||||||
i32.const -1
|
i32.const -1
|
||||||
call $~lib/math/ipow32f
|
call $~lib/math/ipow32f
|
||||||
call $~lib/builtins/isNaN<f32>
|
call $~lib/number/isNaN<f32>
|
||||||
i32.eqz
|
i32.eqz
|
||||||
if
|
if
|
||||||
i32.const 0
|
i32.const 0
|
||||||
@ -47156,7 +47156,7 @@
|
|||||||
f32.const nan:0x400000
|
f32.const nan:0x400000
|
||||||
i32.const 2
|
i32.const 2
|
||||||
call $~lib/math/ipow32f
|
call $~lib/math/ipow32f
|
||||||
call $~lib/builtins/isNaN<f32>
|
call $~lib/number/isNaN<f32>
|
||||||
i32.eqz
|
i32.eqz
|
||||||
if
|
if
|
||||||
i32.const 0
|
i32.const 0
|
||||||
@ -47355,7 +47355,7 @@
|
|||||||
f64.const nan:0x8000000000000
|
f64.const nan:0x8000000000000
|
||||||
i32.const 1
|
i32.const 1
|
||||||
call $~lib/math/ipow64f
|
call $~lib/math/ipow64f
|
||||||
call $~lib/builtins/isNaN<f64>
|
call $~lib/number/isNaN<f64>
|
||||||
i32.eqz
|
i32.eqz
|
||||||
if
|
if
|
||||||
i32.const 0
|
i32.const 0
|
||||||
@ -47368,7 +47368,7 @@
|
|||||||
f64.const nan:0x8000000000000
|
f64.const nan:0x8000000000000
|
||||||
i32.const -1
|
i32.const -1
|
||||||
call $~lib/math/ipow64f
|
call $~lib/math/ipow64f
|
||||||
call $~lib/builtins/isNaN<f64>
|
call $~lib/number/isNaN<f64>
|
||||||
i32.eqz
|
i32.eqz
|
||||||
if
|
if
|
||||||
i32.const 0
|
i32.const 0
|
||||||
@ -47381,7 +47381,7 @@
|
|||||||
f64.const nan:0x8000000000000
|
f64.const nan:0x8000000000000
|
||||||
i32.const 2
|
i32.const 2
|
||||||
call $~lib/math/ipow64f
|
call $~lib/math/ipow64f
|
||||||
call $~lib/builtins/isNaN<f64>
|
call $~lib/number/isNaN<f64>
|
||||||
i32.eqz
|
i32.eqz
|
||||||
if
|
if
|
||||||
i32.const 0
|
i32.const 0
|
||||||
|
@ -16,7 +16,7 @@
|
|||||||
(export "memory" (memory $0))
|
(export "memory" (memory $0))
|
||||||
(export "mod" (func $std/mod/mod))
|
(export "mod" (func $std/mod/mod))
|
||||||
(start $start)
|
(start $start)
|
||||||
(func $~lib/builtins/isNaN<f64> (; 2 ;) (type $FUNCSIG$id) (param $0 f64) (result i32)
|
(func $~lib/number/isNaN<f64> (; 2 ;) (type $FUNCSIG$id) (param $0 f64) (result i32)
|
||||||
local.get $0
|
local.get $0
|
||||||
local.get $0
|
local.get $0
|
||||||
f64.ne
|
f64.ne
|
||||||
@ -66,7 +66,7 @@
|
|||||||
i32.const 1
|
i32.const 1
|
||||||
else
|
else
|
||||||
local.get $1
|
local.get $1
|
||||||
call $~lib/builtins/isNaN<f64>
|
call $~lib/number/isNaN<f64>
|
||||||
end
|
end
|
||||||
if
|
if
|
||||||
local.get $0
|
local.get $0
|
||||||
@ -226,10 +226,10 @@
|
|||||||
)
|
)
|
||||||
(func $std/mod/check<f64> (; 4 ;) (type $FUNCSIG$idd) (param $0 f64) (param $1 f64) (result i32)
|
(func $std/mod/check<f64> (; 4 ;) (type $FUNCSIG$idd) (param $0 f64) (param $1 f64) (result i32)
|
||||||
local.get $1
|
local.get $1
|
||||||
call $~lib/builtins/isNaN<f64>
|
call $~lib/number/isNaN<f64>
|
||||||
if
|
if
|
||||||
local.get $0
|
local.get $0
|
||||||
call $~lib/builtins/isNaN<f64>
|
call $~lib/number/isNaN<f64>
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
local.get $1
|
local.get $1
|
||||||
@ -265,7 +265,7 @@
|
|||||||
i32.const 0
|
i32.const 0
|
||||||
end
|
end
|
||||||
)
|
)
|
||||||
(func $~lib/builtins/isNaN<f32> (; 6 ;) (type $FUNCSIG$if) (param $0 f32) (result i32)
|
(func $~lib/number/isNaN<f32> (; 6 ;) (type $FUNCSIG$if) (param $0 f32) (result i32)
|
||||||
local.get $0
|
local.get $0
|
||||||
local.get $0
|
local.get $0
|
||||||
f32.ne
|
f32.ne
|
||||||
@ -313,7 +313,7 @@
|
|||||||
i32.const 1
|
i32.const 1
|
||||||
else
|
else
|
||||||
local.get $1
|
local.get $1
|
||||||
call $~lib/builtins/isNaN<f32>
|
call $~lib/number/isNaN<f32>
|
||||||
end
|
end
|
||||||
if
|
if
|
||||||
local.get $0
|
local.get $0
|
||||||
@ -463,10 +463,10 @@
|
|||||||
)
|
)
|
||||||
(func $std/mod/check<f32> (; 8 ;) (type $FUNCSIG$iff) (param $0 f32) (param $1 f32) (result i32)
|
(func $std/mod/check<f32> (; 8 ;) (type $FUNCSIG$iff) (param $0 f32) (param $1 f32) (result i32)
|
||||||
local.get $1
|
local.get $1
|
||||||
call $~lib/builtins/isNaN<f32>
|
call $~lib/number/isNaN<f32>
|
||||||
if
|
if
|
||||||
local.get $0
|
local.get $0
|
||||||
call $~lib/builtins/isNaN<f32>
|
call $~lib/number/isNaN<f32>
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
local.get $1
|
local.get $1
|
||||||
|
@ -19,7 +19,7 @@
|
|||||||
(export "memory" (memory $0))
|
(export "memory" (memory $0))
|
||||||
(export "mod" (func $std/mod/mod))
|
(export "mod" (func $std/mod/mod))
|
||||||
(start $start)
|
(start $start)
|
||||||
(func $~lib/builtins/isNaN<f64> (; 2 ;) (type $FUNCSIG$id) (param $0 f64) (result i32)
|
(func $~lib/number/isNaN<f64> (; 2 ;) (type $FUNCSIG$id) (param $0 f64) (result i32)
|
||||||
local.get $0
|
local.get $0
|
||||||
local.get $0
|
local.get $0
|
||||||
f64.ne
|
f64.ne
|
||||||
@ -74,7 +74,7 @@
|
|||||||
i32.const 1
|
i32.const 1
|
||||||
else
|
else
|
||||||
local.get $1
|
local.get $1
|
||||||
call $~lib/builtins/isNaN<f64>
|
call $~lib/number/isNaN<f64>
|
||||||
end
|
end
|
||||||
if
|
if
|
||||||
local.get $0
|
local.get $0
|
||||||
@ -274,10 +274,10 @@
|
|||||||
)
|
)
|
||||||
(func $std/mod/check<f64> (; 4 ;) (type $FUNCSIG$idd) (param $0 f64) (param $1 f64) (result i32)
|
(func $std/mod/check<f64> (; 4 ;) (type $FUNCSIG$idd) (param $0 f64) (param $1 f64) (result i32)
|
||||||
local.get $1
|
local.get $1
|
||||||
call $~lib/builtins/isNaN<f64>
|
call $~lib/number/isNaN<f64>
|
||||||
if
|
if
|
||||||
local.get $0
|
local.get $0
|
||||||
call $~lib/builtins/isNaN<f64>
|
call $~lib/number/isNaN<f64>
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
local.get $1
|
local.get $1
|
||||||
@ -320,7 +320,7 @@
|
|||||||
i32.const 0
|
i32.const 0
|
||||||
end
|
end
|
||||||
)
|
)
|
||||||
(func $~lib/builtins/isNaN<f32> (; 6 ;) (type $FUNCSIG$if) (param $0 f32) (result i32)
|
(func $~lib/number/isNaN<f32> (; 6 ;) (type $FUNCSIG$if) (param $0 f32) (result i32)
|
||||||
local.get $0
|
local.get $0
|
||||||
local.get $0
|
local.get $0
|
||||||
f32.ne
|
f32.ne
|
||||||
@ -375,7 +375,7 @@
|
|||||||
i32.const 1
|
i32.const 1
|
||||||
else
|
else
|
||||||
local.get $1
|
local.get $1
|
||||||
call $~lib/builtins/isNaN<f32>
|
call $~lib/number/isNaN<f32>
|
||||||
end
|
end
|
||||||
if
|
if
|
||||||
local.get $0
|
local.get $0
|
||||||
@ -573,10 +573,10 @@
|
|||||||
)
|
)
|
||||||
(func $std/mod/check<f32> (; 8 ;) (type $FUNCSIG$iff) (param $0 f32) (param $1 f32) (result i32)
|
(func $std/mod/check<f32> (; 8 ;) (type $FUNCSIG$iff) (param $0 f32) (param $1 f32) (result i32)
|
||||||
local.get $1
|
local.get $1
|
||||||
call $~lib/builtins/isNaN<f32>
|
call $~lib/number/isNaN<f32>
|
||||||
if
|
if
|
||||||
local.get $0
|
local.get $0
|
||||||
call $~lib/builtins/isNaN<f32>
|
call $~lib/number/isNaN<f32>
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
local.get $1
|
local.get $1
|
||||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -15506,7 +15506,7 @@
|
|||||||
local.get $1
|
local.get $1
|
||||||
call $~lib/rt/pure/__release
|
call $~lib/rt/pure/__release
|
||||||
)
|
)
|
||||||
(func $~lib/builtins/isNaN<f32> (; 317 ;) (type $FUNCSIG$if) (param $0 f32) (result i32)
|
(func $~lib/number/isNaN<f32> (; 317 ;) (type $FUNCSIG$if) (param $0 f32) (result i32)
|
||||||
local.get $0
|
local.get $0
|
||||||
local.get $0
|
local.get $0
|
||||||
f32.ne
|
f32.ne
|
||||||
@ -15561,7 +15561,7 @@
|
|||||||
i32.const 1
|
i32.const 1
|
||||||
else
|
else
|
||||||
local.get $1
|
local.get $1
|
||||||
call $~lib/builtins/isNaN<f32>
|
call $~lib/number/isNaN<f32>
|
||||||
end
|
end
|
||||||
if
|
if
|
||||||
local.get $0
|
local.get $0
|
||||||
@ -15917,7 +15917,7 @@
|
|||||||
local.get $1
|
local.get $1
|
||||||
call $~lib/rt/pure/__release
|
call $~lib/rt/pure/__release
|
||||||
)
|
)
|
||||||
(func $~lib/builtins/isNaN<f64> (; 323 ;) (type $FUNCSIG$id) (param $0 f64) (result i32)
|
(func $~lib/number/isNaN<f64> (; 323 ;) (type $FUNCSIG$id) (param $0 f64) (result i32)
|
||||||
local.get $0
|
local.get $0
|
||||||
local.get $0
|
local.get $0
|
||||||
f64.ne
|
f64.ne
|
||||||
@ -15972,7 +15972,7 @@
|
|||||||
i32.const 1
|
i32.const 1
|
||||||
else
|
else
|
||||||
local.get $1
|
local.get $1
|
||||||
call $~lib/builtins/isNaN<f64>
|
call $~lib/number/isNaN<f64>
|
||||||
end
|
end
|
||||||
if
|
if
|
||||||
local.get $0
|
local.get $0
|
||||||
|
Loading…
x
Reference in New Issue
Block a user