Daniel Wirtz 164f134053
Even more math (#56)
Remaining implementations of JavaScript's Math functions (except sin/cos/tan), both double (Math) and single (Mathf) precision, ported from musl incl. tests from libc-test, plus some changes to match JS semantics. Also binds fmod to `%` and pow to `**`.
2018-03-30 17:25:54 +02:00

174 lines
1.5 KiB
TypeScript

var b = false;
var i: i32 = 0;
i < 1;
i > 1;
i <= 1;
i >= 1;
i == 1;
i === 1;
i + 1;
i - 1;
i * 1;
i / 1;
i % 1;
i ** 1;
i << 1;
i >> 1;
i >>> 1;
i & 1;
i | 1;
i ^ 1;
b = i < 1;
b = i > 1;
b = i <= 1;
b = i >= 1;
b = i == 1;
b = i === 1;
i = i + 1;
i = i - 1;
i = i * 1;
i = i / 1;
i = i % 1;
i = <i32>(i ** 1);
i = i << 1;
i = i >> 1;
i = i >>> 1;
i = i & 1;
i = i | 1;
i = i ^ 1;
i += 1;
i -= 1;
i *= 1;
i %= 1;
// i **= 1;
i <<= 1;
i >>= 1;
i >>>= 1;
i &= 1;
i |= 1;
i ^= 1;
var I: i64 = 0;
I < 1;
I > 1;
I <= 1;
I >= 1;
I == 1;
I === 1;
I + 1;
I - 1;
I * 1;
I / 1;
I % 1;
<f64>I ** 1;
I << 1;
I >> 1;
I >>> 1;
I & 1;
I | 1;
I ^ 1;
b = I < 1;
b = I > 1;
b = I <= 1;
b = I >= 1;
b = I == 1;
b = I === 1;
I = I + 1;
I = I - 1;
I = I * 1;
I = I / 1;
I = I % 1;
I = <i64>(<f64>I ** 1);
I = I << 1;
I = I >> 1;
I = I >>> 1;
I = I & 1;
I = I | 1;
I = I ^ 1;
I += 1;
I -= 1;
I *= 1;
I %= 1;
// I **= 1;
I <<= 1;
I >>= 1;
I >>>= 1;
I &= 1;
I |= 1;
I ^= 1;
var f: f32 = 0;
f < 1;
f > 1;
f <= 1;
f >= 1;
f == 1;
f === 1;
f + 1;
f - 1;
f * 1;
f / 1;
f % 1;
f ** 1;
b = f < 1;
b = f > 1;
b = f <= 1;
b = f >= 1;
b = f == 1;
b = f === 1;
f = f + 1;
f = f - 1;
f = f * 1;
f = f / 1;
f = f % 1;
f = f ** 1;
f += 1;
f -= 1;
f *= 1;
f %= 1;
f **= 1;
var F: f64 = 0;
F < 1;
F > 1;
F <= 1;
F >= 1;
F == 1;
F === 1;
F + 1;
F - 1;
F * 1;
F / 1;
F % 1;
F ** 1;
b = F < 1;
b = F > 1;
b = F <= 1;
b = F >= 1;
b = F == 1;
b = F === 1;
F = F + 1;
F = F - 1;
F = F * 1;
F = F / 1;
F = F % 1;
F = F ** 1;
F += 1;
F -= 1;
F *= 1;
F %= 1;
F **= 1;