StoreDoubleToFloat32.js 1.0 KB

12345678910111213141516171819202122232425262728293031
  1. //-------------------------------------------------------------------------------------------------------
  2. // Copyright (C) Microsoft. All rights reserved.
  3. // Licensed under the MIT license. See LICENSE.txt file in the project root for full license information.
  4. //-------------------------------------------------------------------------------------------------------
  5. function AsmModule(stdlib,foreign,buffer) {
  6. "use asm";
  7. var m1 = stdlib.Math.fround;
  8. var func1 = foreign.fun1;
  9. //views
  10. var HEAP32 =new stdlib.Float32Array(buffer);
  11. function f1(){
  12. var y = 0.5
  13. var x = 1.5;
  14. HEAP32[1] = x;
  15. return m1(HEAP32[1])
  16. }
  17. return f1;
  18. }
  19. var global = {Math:Math,Float32Array:Float32Array}
  20. var env = {fun1:function(x1,x2,x3,x4,x5,x6,x7,x8){}, fun2:function(x,y){print(x,y);},x:155,i2:658,d1:68.25,d2:3.14156,f1:48.1523,f2:14896.2514}
  21. var buffer = new ArrayBuffer(1<<20);
  22. var asmModule = AsmModule(global,env,buffer);
  23. WScript.Echo(asmModule());
  24. WScript.Echo(asmModule());