From 5ed4f24d6e11072c4d0a3542dc7b8adc4557cca7 Mon Sep 17 00:00:00 2001 From: Martin Kroeker Date: Fri, 7 Jun 2024 09:39:08 +0200 Subject: [PATCH] Handle corner cases with INF and NAN arguments --- kernel/mips/scal.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/kernel/mips/scal.c b/kernel/mips/scal.c index 01f708b1d..d51fd9ccd 100644 --- a/kernel/mips/scal.c +++ b/kernel/mips/scal.c @@ -35,7 +35,12 @@ int CNAME(BLASLONG n, BLASLONG dummy0, BLASLONG dummy1, FLOAT da, FLOAT *x, BLAS { if ( da == 0.0 ) - x[i]=0.0; + if (isnan(x[i])||isinf(x[i])) + x[i]=NAN; + else + x[i]=0.0; + else if (isnan(da)) + x[i]=NAN; else x[i] = da * x[i] ;