UNPKG

hyperformula

Version:

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

33 lines (31 loc) 875 B
"use strict"; exports.__esModule = true; exports.PI = exports.MathConstantsPlugin = void 0; var _FunctionPlugin = require("./FunctionPlugin"); /** * @license * Copyright (c) 2025 Handsoncode. All rights reserved. */ const PI = exports.PI = parseFloat(Math.PI.toFixed(14)); class MathConstantsPlugin extends _FunctionPlugin.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)); } } exports.MathConstantsPlugin = MathConstantsPlugin; MathConstantsPlugin.implementedFunctions = { 'PI': { method: 'pi', parameters: [] }, 'SQRTPI': { method: 'sqrtpi', parameters: [{ argumentType: _FunctionPlugin.FunctionArgumentType.NUMBER, minValue: 0 }] } };