hyperformula
Version:
HyperFormula is a JavaScript engine for efficient processing of spreadsheet-like data and formulas
33 lines (31 loc) • 875 B
JavaScript
;
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
}]
}
};