UNPKG

@pfm37/better-math

Version:

A math module which adds more flexibility to math, that means more math functions

59 lines (49 loc) 2.72 kB
const betterMath = require('better-math'); console.log("==== BASIC MATH ===="); console.log("Factorial of 5:", betterMath.factorial(5)); console.log("Is 17 Prime?:", betterMath.isPrime(17)); console.log("GCD of 48, 18:", betterMath.gcd(48, 18)); console.log("LCM of 4, 5:", betterMath.lcm(4, 5)); console.log("\n==== STATISTICS ===="); const data = [1, 2, 2, 3, 4, 5, 5, 5, 6]; console.log("Mean:", betterMath.mean(data)); console.log("Median:", betterMath.median(data)); console.log("Mode:", betterMath.mode(data)); console.log("Variance:", betterMath.variance(data)); console.log("Standard Deviation:", betterMath.stdDev(data)); console.log("\n==== BODMAS EXPRESSION SOLVER ===="); console.log("Expression (5+3)*2:", betterMath.evaluate(" (5 + 3) * 2 ")); console.log("\n==== MATRIX OPERATIONS ===="); const A = [[2, 3], [4, 5]]; const B = [[1, 2], [3, 4]]; console.log("Matrix Addition:", betterMath.addMatrices(A, B)); console.log("Matrix Multiplication:", betterMath.multiplyMatrices(A, B)); console.log("Transpose of A:", betterMath.transposeMatrix(A)); console.log("Determinant of A:", betterMath.determinant(A)); console.log("Inverse of A:", betterMath.inverseMatrix(A)); console.log("\n==== ADVANCED TRIGONOMETRY ===="); console.log("sinh(1):", betterMath.sinh(1)); console.log("cosh(1):", betterMath.cosh(1)); console.log("tanh(1):", betterMath.tanh(1)); console.log("sec(45°):", betterMath.sec(Math.PI / 4)); console.log("csc(30°):", betterMath.csc(Math.PI / 6)); console.log("cot(60°):", betterMath.cot(Math.PI / 3)); console.log("asin(0.5):", betterMath.asin(0.5)); console.log("acosh(2):", betterMath.acosh(2)); const num1 = { real: 3, imag: 4 }; const num2 = { real: 1, imag: -2 }; console.log("\n==== COMPLEX NUMBERS ===="); console.log("Addition:", betterMath.addComplex(num1, num2)); console.log("Subtraction:", betterMath.subtractComplex(num1, num2)); console.log("Multiplication:", betterMath.multiplyComplex(num1, num2)); console.log("Division:", betterMath.divideComplex(num1, num2)); console.log("Magnitude of num1:", betterMath.magnitudeComplex(num1)); console.log("Conjugate of num1:", betterMath.conjugateComplex(num1)); console.log("\n==== CALCULUS FUNCTIONS ===="); // Test Limit of sin(x)/x as x → 0 console.log("Limit of sin(x)/x at x=0:", betterMath.limit(Math.sin, 0)); // Taylor Series for e^x around x=0, using first 5 terms const f = (x) => Math.exp(x); const derivatives = [(x) => Math.exp(x), (x) => Math.exp(x), (x) => Math.exp(x), (x) => Math.exp(x), (x) => Math.exp(x)]; const taylorExp = betterMath.taylorSeries(f, derivatives, 0, 5); console.log("Taylor series approximation of e^x at x=1:", taylorExp(1));