testMathClz32.js (627B)
1 function f() { 2 var x = 0; 3 for (var i = 1; i < 1e6; i++) { 4 if (i > 0) 5 x += Math.clz32(i); 6 } 7 return x; 8 } 9 10 function g() { 11 var x = 0; 12 for (var i = 1; i < 1e6; i++) { 13 x += Math.clz32(i); 14 } 15 return x; 16 } 17 18 function h() { 19 var x = 0; 20 for (var i = 0; i < 1e6; i++) { 21 x += Math.clz32(i); 22 } 23 return x; 24 } 25 26 function k() { 27 var x = 0; 28 for (var i = -1000; i < 1000; i++) { 29 x += Math.clz32(i); 30 x += Math.clz32(i + 0.5); 31 } 32 return x; 33 } 34 35 assertEq(f(), 13048543); 36 assertEq(g(), 13048543); 37 assertEq(h(), 13048575); 38 assertEq(k(), 46078);