assemblyscript/tests/binaryen/asmjs-math-builtins.js

46 lines
963 B
JavaScript

var binaryen = require("binaryen");
var mod = new binaryen.Module();
var funcType = mod.addFunctionType("F", binaryen.f64, [ binaryen.f64 ]);
var func = mod.addFunction("floor", funcType, [],
mod.f64.floor(
mod.get_local(0, binaryen.f64)
)
);
mod.addExport("floor", "floor");
func = mod.addFunction("ceil", funcType, [],
mod.f64.ceil(
mod.get_local(0, binaryen.f64)
)
);
mod.addExport("ceil", "ceil");
func = mod.addFunction("sqrt", funcType, [],
mod.f64.sqrt(
mod.get_local(0, binaryen.f64)
)
);
mod.addExport("sqrt", "sqrt");
func = mod.addFunction("trunc", funcType, [],
mod.f64.trunc(
mod.get_local(0, binaryen.f64)
)
);
mod.addExport("trunc", "trunc");
func = mod.addFunction("nearest", funcType, [],
mod.f64.nearest(
mod.get_local(0, binaryen.f64)
)
);
mod.addExport("nearest", "nearest");
console.log(mod.emitText());
if (!mod.validate())
console.log("-> does not validate");
console.log(mod.emitAsmjs());