From b402f32e68161dc2637ac6468ddaf66cba0afac6 Mon Sep 17 00:00:00 2001 From: Kyler Date: Sat, 29 Nov 2025 13:57:36 -0700 Subject: [PATCH] Added out of domain checks --- SLS_C/src/builtin.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/SLS_C/src/builtin.c b/SLS_C/src/builtin.c index 19e7160..630bba6 100644 --- a/SLS_C/src/builtin.c +++ b/SLS_C/src/builtin.c @@ -1003,11 +1003,13 @@ Boolean builtin_abs(InterpreterState *interpreter_state) { Boolean builtin_acos(InterpreterState *interpreter_state) { NUMERIC_TYPE; + if (af < -1 || af > 1) return FALSE; FLOAT_FUNCTION(acos); } Boolean builtin_asin(InterpreterState *interpreter_state) { NUMERIC_TYPE; + if (af < -1 || af > 1) return FALSE; FLOAT_FUNCTION(asin); } @@ -1105,11 +1107,13 @@ Boolean builtin_lambda(InterpreterState *interpreter_state) { Boolean builtin_ln(InterpreterState *interpreter_state) { NUMERIC_TYPE; + if (af <= 0) return FALSE; FLOAT_FUNCTION(log); } Boolean builtin_log(InterpreterState *interpreter_state) { NUMERIC_TYPE; + if (af <= 0) return FALSE; FLOAT_FUNCTION(log10); } @@ -1190,6 +1194,7 @@ Boolean builtin_sin(InterpreterState *interpreter_state) { Boolean builtin_sqrt(InterpreterState *interpreter_state) { NUMERIC_TYPE; + if (af < 0) return FALSE; FLOAT_FUNCTION(sqrt); }