diff --git a/ops/abCOpSqrt.c b/ops/abCOpSqrt.c index 1cbea82..02e70c0 100644 --- a/ops/abCOpSqrt.c +++ b/ops/abCOpSqrt.c @@ -39,6 +39,11 @@ void sqrtExecute(void) return; } + if (expr->u.real < 0.0) { + abCalcRaiseError(abCalcComplexResultError, SQRT_NAME); + return; + } + abCalcExprRealSet(&result, sqrt(expr->u.real)); abCalcStackExprPop(NULL);