bigint-tobool.js (1058B)
1 var xs = [ 2 // Definitely heap digits. 3 -(2n ** 1000n), 4 5 // -(2n**64n) 6 -18446744073709551617n, 7 -18446744073709551616n, 8 -18446744073709551615n, 9 10 // -(2n**63n) 11 -9223372036854775809n, 12 -9223372036854775808n, 13 -9223372036854775807n, 14 15 // -(2**32) 16 -4294967297n, 17 -4294967296n, 18 -4294967295n, 19 20 // -(2**31) 21 -2147483649n, 22 -2147483648n, 23 -2147483647n, 24 25 -1n, 26 0n, 27 1n, 28 29 // 2**31 30 2147483649n, 31 2147483648n, 32 2147483647n, 33 34 // 2**32 35 4294967297n, 36 4294967296n, 37 4294967295n, 38 39 // 2n**63n 40 9223372036854775809n, 41 9223372036854775808n, 42 9223372036854775807n, 43 44 // 2n**64n 45 18446744073709551617n, 46 18446744073709551616n, 47 18446744073709551615n, 48 49 // Definitely heap digits. 50 2n ** 1000n, 51 ]; 52 53 function test() { 54 for (var i = 0; i < 100; ++i) { 55 var x = xs[i % xs.length]; 56 57 // Implicit ToBool(x) 58 var r = x ? true : false; 59 assertEq(r, x !== 0n); 60 } 61 } 62 test(); 63 64 function testNot() { 65 for (var i = 0; i < 100; ++i) { 66 var x = xs[i % xs.length]; 67 68 var r = !x; 69 assertEq(r, x === 0n); 70 } 71 } 72 testNot();