| //------------------------------------------------------------------------------------------------------- | |
| // Copyright (C) Microsoft. All rights reserved. | |
| // Licensed under the MIT license. See LICENSE.txt file in the project root for full license information. | |
| //------------------------------------------------------------------------------------------------------- | |
| // intended to test inlining of Math.clz32 | |
| // compliance tests are in es6 UT folder | |
| function module(glob, imp, b) { | |
| var clz = glob.Math.clz32; | |
| function f1(a) | |
| { | |
| a = a|0; | |
| return clz(a); | |
| } | |
| function f2() | |
| { | |
| return clz(0); | |
| } | |
| function f3() | |
| { | |
| return clz(0x80000000); | |
| } | |
| function f4() | |
| { | |
| return clz(32768); | |
| } | |
| function f5() | |
| { | |
| return clz(NaN); | |
| } | |
| function f6() | |
| { | |
| return clz(Infinity); | |
| } | |
| function f7() | |
| { | |
| return clz(undefined); | |
| } | |
| function f8() | |
| { | |
| return clz(true); | |
| } | |
| function f9() | |
| { | |
| return clz(); | |
| } | |
| return { | |
| f1:f1, | |
| f2:f2, | |
| f3:f3, | |
| f4:f4, | |
| f5:f5, | |
| f6:f6, | |
| f7:f7, | |
| f8:f8, | |
| f9:f9 | |
| } | |
| } | |
| var global = this; | |
| var env = {} | |
| var heap = new ArrayBuffer(1<<20); | |
| var m = module(global, env, heap); | |
| print(m.f1(0)); | |
| print(m.f1(0)); | |
| print(m.f1(0x80000000)); | |
| print(m.f1(32768)); | |
| print(m.f1(NaN)); | |
| print(m.f1(Infinity)); | |
| print(m.f1(undefined)); | |
| print(m.f1(true)); | |
| print(m.f2()); | |
| print(m.f2()); | |
| print(m.f3()); | |
| print(m.f3()); | |
| print(m.f4()); | |
| print(m.f4()); | |
| print(m.f5()); | |
| print(m.f5()); | |
| print(m.f6()); | |
| print(m.f6()); | |
| print(m.f7()); | |
| print(m.f7()); | |
| print(m.f8()); | |
| print(m.f8()); | |
| print(m.f9()); | |
| print(m.f9()); |