diff --git a/kernel/riscv64/nrm2_rvv.c b/kernel/riscv64/nrm2_rvv.c index 3eb423849..a0b201ec2 100644 --- a/kernel/riscv64/nrm2_rvv.c +++ b/kernel/riscv64/nrm2_rvv.c @@ -101,7 +101,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; @@ -190,7 +190,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 ){