extra-math
Version:
**Mathematics** is the classification and study of all possible patterns [(1)].
106 lines (83 loc) • 2.67 kB
text/typescript
import {assertEquals} from "@std/assert";
import * as xmath from "./index.ts";
import {
magnitude,
distance,
} from "./index.ts";
// import {gamma} from "../src";
// import {lgamma} from "../src";
// import {erf} from "../src";
// import {erfc} from "../src";
// 1. Basic tests.
Deno.test("example1", () => {
const a = xmath.sum(1, 2, 3, 4);
assertEquals(a, 10);
// → 10
const b = xmath.median(1, 7, 8);
assertEquals(b, 7);
// → 7
const c = xmath.variance(1, 2, 3, 4);
assertEquals(c, 1.25);
// → 1.25
const d = xmath.lcm(2, 3, 4);
assertEquals(d, 12);
// → 12
});
// GEOMETRY
// --------
Deno.test("magnitude", () => {
const a = magnitude([5, 9]);
assertEquals(a, Math.sqrt(106));
const b = magnitude([10, 2, -1]);
assertEquals(b, Math.sqrt(105));
});
// - https://www.cuemath.com/geometry/distance-between-two-points/
// - https://www.calculatorsoup.com/calculators/geometry-solids/distance-two-points.php
Deno.test("distance", () => {
const a = distance([2, -6], [7, 3]);
assertEquals(a, Math.sqrt(106));
const b = distance([7, 4, 3], [17, 6, 2]);
assertEquals(b, Math.sqrt(105));
});
// - https://www.cuemath.com/geometry/distance-between-two-points/
// - https://www.calculatorsoup.com/calculators/geometry-solids/distance-two-points.php
// Deno.test("gamma", () => {
// var a = gamma(1/2);
// assertEquals(a, Math.sqrt(Math.PI));
// var a = gamma(3/2);
// assertEquals(a, (1/2)*Math.sqrt(Math.PI));
// var a = gamma(-3/2);
// assertEquals(a, (4/3)*Math.sqrt(Math.PI));
// var a = gamma(-5/2);
// assertEquals(a, -(8/15)*Math.sqrt(Math.PI));
// });
// - https://en.wikipedia.org/wiki/Gamma_function
// Deno.test("lgamma", () => {
// var a = lgamma(2);
// assertEquals(a, 0);
// var a = lgamma(3);
// assertEquals(a, 0.6931472);
// var a = lgamma(5);
// assertEquals(a, 3.178054);
// });
// - https://www.geeksforgeeks.org/compute-the-natural-logarithm-of-the-absolute-value-of-gamma-function-in-r-programming-lgamma-function/
// Deno.test("erf", () => {
// var a = erf(0);
// assertEquals(a, 9.999999717180685e-10);
// var a = erf(0.1);
// assertEquals(a, 0.11246296562219549);
// var a = erf(1);
// assertEquals(a, 0.8427006897475899);
// var a = erf(-1); // sp
// assertEquals(a, -0.8427006897475899); // sp
// });
// Deno.test("erfc", () => {
// var a = erfc(0);
// assertEquals(a, 0.9999999999999999);
// var a = erfc(0.1);
// assertEquals(a, 0.887537083981715);
// var a = erfc(1);
// assertEquals(a, 0.1572992070502851);
// var a = erfc(-1); // sp
// assertEquals(a, 2-0.1572992070502851); // sp
// });