name:
src/main/js/formulas/math/ATAN2.ts
-rw-r--r--
764
1import { SheetColumnRowKey } from "../../models/common/SheetColumnRowKey";
2import { Complex } from "../../models/common/Types";
3import { Converters } from "../../utils/Converters";
4import { AbstractFormula } from "../AbstractFormula";
5import { FormulaName } from "../FormulaName";
6
7export class ATAN2 extends AbstractFormula {
8 static SELF: ATAN2 = new ATAN2();
9 NAME = FormulaName.ATAN2;
10
11 internal(origin: SheetColumnRowKey, ...values: Array<Complex>) {
12 AbstractFormula.checkLength(values.length, 2, this.NAME);
13 const first = Converters.toNumber(Converters.first(this.collateralLookup(origin, values[0])));
14 const second = Converters.toNumber(Converters.first(this.collateralLookup(origin, values[1])));
15 return Math.atan2(first, second);
16 }
17}