| //------------------------------------------------------------------------------------------------------- | |
| // Copyright (C) Microsoft. All rights reserved. | |
| // Licensed under the MIT license. See LICENSE.txt file in the project root for full license information. | |
| //------------------------------------------------------------------------------------------------------- | |
| function AsmModule(glob) { | |
| "use asm"; | |
| var fround = glob.Math.fround; | |
| function floatNeg(a) { | |
| a = fround(a); | |
| var e = fround(0); | |
| e = fround(-a); | |
| return fround(e); | |
| } | |
| function uintRem(a) { | |
| a = a|0; | |
| var b = 0; | |
| var c = 0; | |
| var d = 0; | |
| c = (a + d)|0; | |
| d = (a >>> 0) % 10 | 0; | |
| b = c; | |
| return b|0; | |
| } | |
| return { | |
| floatNeg:floatNeg, | |
| uintRem:uintRem | |
| } | |
| } | |
| var global = {Math:Math,Int8Array:Int8Array,Int16Array:Int16Array,Int32Array:Int32Array,Uint8Array:Uint8Array,Uint16Array:Uint16Array,Uint32Array:Uint32Array,Float32Array:Float32Array,Float64Array:Float64Array,Infinity:Infinity, NaN:NaN} | |
| var module = AsmModule(global); | |
| print(module.floatNeg(3)); | |
| print(module.uintRem(400)); |