From 36fcb52094c4c99eec651a61311204c466b7f054 Mon Sep 17 00:00:00 2001 From: Martin Kroeker Date: Sat, 1 Apr 2023 00:02:54 +0200 Subject: [PATCH] Fix logic - we want real OR imaginary part of X to be nonzero here --- driver/level2/zspr_k.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/driver/level2/zspr_k.c b/driver/level2/zspr_k.c index d888a81ee..7f0eefd6b 100644 --- a/driver/level2/zspr_k.c +++ b/driver/level2/zspr_k.c @@ -53,7 +53,7 @@ int CNAME(BLASLONG m, FLOAT alpha_r, FLOAT alpha_i, for (i = 0; i < m; i++){ #ifndef LOWER - if ((X[i * 2 + 0] != ZERO) && (X[i * 2 + 1] != ZERO)) { + if ((X[i * 2 + 0] != ZERO) || (X[i * 2 + 1] != ZERO)) { AXPYU_K(i + 1, 0, 0, alpha_r * X[i * 2 + 0] - alpha_i * X[i * 2 + 1], alpha_i * X[i * 2 + 0] + alpha_r * X[i * 2 + 1], @@ -61,7 +61,7 @@ int CNAME(BLASLONG m, FLOAT alpha_r, FLOAT alpha_i, } a += (i + 1) * 2; #else - if ((X[i * 2 + 0] != ZERO) && (X[i * 2 + 1] != ZERO)) { + if ((X[i * 2 + 0] != ZERO) || (X[i * 2 + 1] != ZERO)) { AXPYU_K(m - i, 0, 0, alpha_r * X[i * 2 + 0] - alpha_i * X[i * 2 + 1], alpha_i * X[i * 2 + 0] + alpha_r * X[i * 2 + 1],