UNPKG

hyperformula

Version:

HyperFormula is a JavaScript engine for efficient processing of spreadsheet-like data and formulas

27 lines 725 B
/** * @license * Copyright (c) 2025 Handsoncode. All rights reserved. */ import { FunctionArgumentType, FunctionPlugin } from "./FunctionPlugin.mjs"; export const PI = parseFloat(Math.PI.toFixed(14)); export class MathConstantsPlugin extends FunctionPlugin { pi(ast, state) { return this.runFunction(ast.args, state, this.metadata('PI'), () => PI); } sqrtpi(ast, state) { return this.runFunction(ast.args, state, this.metadata('SQRTPI'), arg => Math.sqrt(PI * arg)); } } MathConstantsPlugin.implementedFunctions = { 'PI': { method: 'pi', parameters: [] }, 'SQRTPI': { method: 'sqrtpi', parameters: [{ argumentType: FunctionArgumentType.NUMBER, minValue: 0 }] } };