function shouldBe(actual, expected) | |
{ | |
if (actual !== expected) | |
throw new Error('bad value: ' + actual); | |
} | |
{ | |
let i = 2; | |
let j = 3; | |
shouldBe(2 ** 3, 8); | |
shouldBe(i ** 3, 8); | |
shouldBe(2 ** j, 8); | |
shouldBe(i ** j, 8); | |
} | |
{ | |
shouldBe(2 ** 3 ** 3, 134217728); | |
shouldBe(2 ** 3 + 3, 11); | |
shouldBe(2 ** 3 + 3 ** 3, 35); | |
shouldBe(2 ** 3 * 3, 24); | |
shouldBe(2 ** 3 * 3 ** 3, 216); | |
shouldBe(2 + 3 ** 3, 29); | |
shouldBe(2 * 3 ** 3, 54); | |
} | |
{ | |
let i = 2; | |
i **= 4; | |
shouldBe(i, 16); | |
i **= 1 + 1; | |
shouldBe(i, 256); | |
} | |
for (let i = 0; i < 1e4; ++i) { | |
let a = Math.random(); | |
let b = Math.random(); | |
shouldBe(a ** b, Math.pow(a, b)); | |
} |