UPDATE: Adds simple functions (#489)

Exp, Fact, Factdouble and sign
This commit is contained in:
Nicolás Hatcher Andrés
2025-10-30 18:28:07 +01:00
committed by GitHub
parent f2f4992230
commit 7e379e24e7
6 changed files with 141 additions and 21 deletions

View File

@@ -2,6 +2,7 @@ use crate::cast::NumberOrArray;
use crate::constants::{LAST_COLUMN, LAST_ROW};
use crate::expressions::parser::ArrayNode;
use crate::expressions::types::CellReferenceIndex;
use crate::functions::engineering::{fact, fact_double};
use crate::number_format::to_precision;
use crate::single_number_fn;
use crate::{
@@ -454,6 +455,10 @@ impl Model {
} else {
Ok(1.0 / f64::cosh(f))
});
single_number_fn!(fn_exp, |f: f64| Ok(f64::exp(f)));
single_number_fn!(fn_fact, |f| Ok(fact(f)));
single_number_fn!(fn_factdouble, |f| Ok(fact_double(f)));
single_number_fn!(fn_sign, |f| Ok(f64::signum(f)));
pub(crate) fn fn_pi(&mut self, args: &[Node], cell: CellReferenceIndex) -> CalcResult {
if !args.is_empty() {