NestedMathLibCalls.js 946 B

123456789101112131415161718192021222324252627282930313233
  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. // stdlib math (double) -> double
  8. var m1 = stdlib.Math.fround;
  9. var m2 = stdlib.Math.abs;
  10. function f1(){
  11. var y = m1(1.5);
  12. var a1 = m1(2.5);
  13. var a2 = m1(3.5);
  14. var a3 = 4;
  15. var x = 1.5;
  16. y= m1(m2(a1));
  17. return m1(y)
  18. }
  19. return f1;
  20. }
  21. var global = {Math:Math}
  22. var env = {}
  23. var buffer = new ArrayBuffer(1<<20);
  24. var asmModule = AsmModule(global,env,buffer);
  25. WScript.Echo(asmModule());
  26. WScript.Echo(asmModule());