function addU32(a, b) {
return (a + b) >>> 0; }
function addS32(a, b) {
return (a + b) | 0; }
function addF64(a, b) {
return a + b;
}
function negate(b) {
return !b;
}
function toUpper(c) {
return c.toUpperCase();
}
function addPoints(a, b) {
return { x: a.x + b.x, y: a.y + b.y };
}
function sumList(nums) {
return nums.reduce((acc, n) => acc + n, 0);
}
function maybeDouble(n) {
if (n === null || n === undefined) {
return null;
}
return n * 2;
}
function safeDivide(a, b) {
if (b === 0) {
return { tag: "err", val: "division by zero" };
}
return { tag: "ok", val: Math.floor(a / b) };
}
function colorName(c) {
const names = ["red", "green", "blue"];
return names[c] || "unknown";
}
function checkRead(p) {
return (p & 1) !== 0; }
function shapeArea(s) {
if (s.tag === 0) {
const r = s.val;
return Math.PI * r * r;
} else {
return s.val.x * s.val.y;
}
}