import * as math from "./functions/Math"; export class MirageMath { // Class types E: number; PI: number; SQRT2: number; LN2: number; LN10: number; // Initializing the constants constructor() { this.E = math.default.eConstant; this.PI = math.default.PIConstant; this.SQRT2 = math.default.SQRT2Constant; this.LN2 = math.default.LN2; this.LN10 = math.default.LN10; } // Clamp number between two values clamp(n: number, min: number, max: number) { if (n === null || min === null || max === null) throw new Error("Must have a number, minimum, and maximum!"); return math.default.clamp(n, min, max); } sqrt(n: number): number { if (n === null) throw new Error("Must have a number!"); return math.default.sqrt(n); } cbrt(n: number): number { if (n === null) throw new Error("Must have a number!"); return math.default.cbrt(n); } log2(n: number): number { if (n === null) throw new Error("Must have a number!"); return math.default.log2(n); } log10(n: number): number { if (n === null) throw new Error("Must have a number!"); return math.default.log10(n); } }