UNPKG

@thumbmarkjs/thumbmarkjs

Version:

![GitHub package.json dynamic](https://img.shields.io/github/package-json/version/ilkkapeltola/thumbmarkjs) ![NPM Version](https://img.shields.io/npm/v/@thumbmarkjs/thumbmarkjs) ![NPM Downloads](https://img.shields.io/npm/dm/%40thumbmarkjs%2Fthumbmarkjs

28 lines (26 loc) 874 B
import { componentInterface } from '../../factory' const integrate = (f: (x: number) => number, a: number, b: number, n: number): number => { const h = (b - a) / n; let sum = 0; for (let i = 0; i < n; i++) { const x = a + (i + 0.5) * h; sum += f(x); } return sum * h; }; export default function getMath(): Promise<componentInterface> { return new Promise((resolve) => { resolve( { 'acos': Math.acos(0.5), 'asin': integrate(Math.asin, -1, 1, 97), 'cos': integrate(Math.cos, 0, Math.PI, 97), 'largeCos': Math.cos(1e20), 'largeSin': Math.sin(1e20), 'largeTan': Math.tan(1e20), 'sin': integrate(Math.sin, -Math.PI, Math.PI, 97), 'tan': integrate(Math.tan, 0, 2 * Math.PI, 97), } ); }); }