|
|
|
@@ -27,7 +27,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
|
|
|
|
|
|
|
|
|
|
|
#include "common.h" |
|
|
|
|
|
|
|
#include <float.h> |
|
|
|
#include <arm_neon.h> |
|
|
|
|
|
|
|
#if defined(SMP) |
|
|
|
@@ -344,6 +344,7 @@ FLOAT CNAME(BLASLONG n, FLOAT *x, BLASLONG inc_x) |
|
|
|
FLOAT dummy_alpha[2]; |
|
|
|
#endif |
|
|
|
FLOAT ssq, scale; |
|
|
|
volatile FLOAT sca; |
|
|
|
|
|
|
|
if (n <= 0 || inc_x <= 0) return 0.0; |
|
|
|
|
|
|
|
@@ -404,7 +405,8 @@ FLOAT CNAME(BLASLONG n, FLOAT *x, BLASLONG inc_x) |
|
|
|
#else |
|
|
|
nrm2_compute(n, x, inc_x, &ssq, &scale); |
|
|
|
#endif |
|
|
|
if (fabs(scale) <1.e-300) return 0.; |
|
|
|
sca = fabs(scale); |
|
|
|
if (sca < DBL_MIN) return 0.; |
|
|
|
ssq = sqrt(ssq) * scale; |
|
|
|
|
|
|
|
return ssq; |
|
|
|
|