Use Rust to compute 32-bit signed integers and wrap around at the boundary.
You need to set up the Rust development environment: rustup
import { add } from "int32";
const n = add(1, 2); // 3
import { subtract } from "int32";
const n = subtract(1, 2); // -1
import { multiply } from "int32";
const n = multiply(2, 6); // 12
import { divide } from "int32";
const n = divide(6, 4); // 1
import { pow } from "int32";
const n = pow(2, 3); // 8
import { shiftLeft } from "int32";
const n = shiftLeft(5, 2); // 20
import { shiftRight } from "int32";
const n1 = shiftRight(5, 2); // 1
const n2 = shiftRight(6, 1); // 3
const n3 = shiftRight(-5, 1); // -3
import { shiftRightUnsigned } from "int32";
const n = shiftRightUnsigned(-5, 1); // 2147483645
import { rotateLeft } from "int32";
const n = rotateLeft(0b10000000000000000000000100000000, 1); // 0b00000000000000000000001000000001
import { rotateRight } from "int32";
const n = rotateRight(0b00000000000000000000000100000001, 8); // 0b00000001000000000000000000000001