hyperformula-dc
Version:
HyperFormula is a JavaScript engine for efficient processing of spreadsheet-like data and formulas
126 lines (125 loc) • 4.08 kB
TypeScript
/**
* @license
* Copyright (c) 2021 Handsoncode. All rights reserved.
*/
import { ProcedureAst } from '../../parser';
import { InterpreterState } from '../InterpreterState';
import { InterpreterValue } from '../InterpreterValue';
import { ArgumentTypes, FunctionPlugin, FunctionPluginTypecheck } from './FunctionPlugin';
export declare class MathPlugin extends FunctionPlugin implements FunctionPluginTypecheck<MathPlugin> {
static implementedFunctions: {
FACT: {
method: string;
parameters: {
argumentType: ArgumentTypes;
minValue: number;
maxValue: number;
}[];
};
FACTDOUBLE: {
method: string;
parameters: {
argumentType: ArgumentTypes;
minValue: number;
maxValue: number;
}[];
};
COMBIN: {
method: string;
parameters: ({
argumentType: ArgumentTypes;
minValue: number;
lessThan: number;
} | {
argumentType: ArgumentTypes;
minValue: number;
lessThan?: undefined;
})[];
};
COMBINA: {
method: string;
parameters: {
argumentType: ArgumentTypes;
minValue: number;
}[];
};
GCD: {
method: string;
parameters: {
argumentType: ArgumentTypes;
}[];
repeatLastArgs: number;
};
LCM: {
method: string;
parameters: {
argumentType: ArgumentTypes;
}[];
repeatLastArgs: number;
};
MROUND: {
method: string;
parameters: {
argumentType: ArgumentTypes;
}[];
};
MULTINOMIAL: {
method: string;
parameters: {
argumentType: ArgumentTypes;
}[];
repeatLastArgs: number;
expandRanges: boolean;
};
QUOTIENT: {
method: string;
parameters: {
argumentType: ArgumentTypes;
}[];
};
SERIESSUM: {
method: string;
parameters: {
argumentType: ArgumentTypes;
}[];
};
SIGN: {
method: string;
parameters: {
argumentType: ArgumentTypes;
}[];
};
SUMX2MY2: {
method: string;
parameters: {
argumentType: ArgumentTypes;
}[];
};
SUMX2PY2: {
method: string;
parameters: {
argumentType: ArgumentTypes;
}[];
};
SUMXMY2: {
method: string;
parameters: {
argumentType: ArgumentTypes;
}[];
};
};
fact(ast: ProcedureAst, state: InterpreterState): InterpreterValue;
factdouble(ast: ProcedureAst, state: InterpreterState): InterpreterValue;
combin(ast: ProcedureAst, state: InterpreterState): InterpreterValue;
combina(ast: ProcedureAst, state: InterpreterState): InterpreterValue;
gcd(ast: ProcedureAst, state: InterpreterState): InterpreterValue;
lcm(ast: ProcedureAst, state: InterpreterState): InterpreterValue;
mround(ast: ProcedureAst, state: InterpreterState): InterpreterValue;
multinomial(ast: ProcedureAst, state: InterpreterState): InterpreterValue;
quotient(ast: ProcedureAst, state: InterpreterState): InterpreterValue;
seriessum(ast: ProcedureAst, state: InterpreterState): InterpreterValue;
sign(ast: ProcedureAst, state: InterpreterState): InterpreterValue;
sumx2my2(ast: ProcedureAst, state: InterpreterState): InterpreterValue;
sumx2py2(ast: ProcedureAst, state: InterpreterState): InterpreterValue;
sumxmy2(ast: ProcedureAst, state: InterpreterState): InterpreterValue;
}