@thumbmarkjs/thumbmarkjs
Version:
   • 874 B
text/typescript
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),
}
);
});
}