From d9dff17aec4fa1e4f9f0e1a32d099a493f299862 Mon Sep 17 00:00:00 2001 From: Martin Kroeker Date: Tue, 12 Mar 2024 20:38:23 +0100 Subject: [PATCH] handle incx < 0 --- kernel/riscv64/nrm2_vector.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/kernel/riscv64/nrm2_vector.c b/kernel/riscv64/nrm2_vector.c index 5c03fbec7..129dbba7a 100644 --- a/kernel/riscv64/nrm2_vector.c +++ b/kernel/riscv64/nrm2_vector.c @@ -104,7 +104,7 @@ FLOAT CNAME(BLASLONG n, FLOAT *x, BLASLONG inc_x) { BLASLONG i=0; - if (n <= 0 || inc_x <= 0) return(0.0); + if (n <= 0 || inc_x == 0) return(0.0); if(n == 1) return (ABS(x[0])); unsigned int gvl = 0; @@ -193,7 +193,7 @@ FLOAT CNAME(BLASLONG n, FLOAT *x, BLASLONG inc_x) //finish any tail using scalar ops i*=gvl*inc_x; n*=inc_x; - while(i < n){ + while(abs(i) < abs(n)){ if ( x[i] != 0.0 ){ FLOAT absxi = ABS( x[i] ); if ( scale < absxi ){