From c3f07d096444e7024b30357fbb74bc0cc287a01d Mon Sep 17 00:00:00 2001 From: Mathieu Faverge <mathieu.faverge@inria.fr> Date: Mon, 11 Oct 2021 19:23:23 +0200 Subject: [PATCH] core_zlatm1: fix complex case --- coreblas/compute/core_zlatm1.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/coreblas/compute/core_zlatm1.c b/coreblas/compute/core_zlatm1.c index d715ba61e..18a823e59 100644 --- a/coreblas/compute/core_zlatm1.c +++ b/coreblas/compute/core_zlatm1.c @@ -102,6 +102,7 @@ int CORE_zlatm1( int MODE, double COND, int IRSIGN, cham_dist_t DIST, unsigned long long int ran; int i; double alpha, temp; + CHAMELEON_Complex64_t ctemp; /* * Quick return if possible @@ -234,8 +235,8 @@ int CORE_zlatm1( int MODE, double COND, int IRSIGN, cham_dist_t DIST, #if defined(PRECISION_z) || defined(PRECISION_c) double t1 = CORE_dlaran( &ran ); double t2 = CORE_dlaran( &ran ); - temp = sqrt( -2 * log( t1 ) ) * exp( I * 2. * M_PI * t2 ); - D[i] = D[i] * ( temp / cabs(temp) ); + ctemp = sqrt( -2 * log( t1 ) ) * exp( I * 2. * M_PI * t2 ); + D[i] = D[i] * ( ctemp / cabs(ctemp) ); #else if ( CORE_dlaran( &ran ) > .5 ) { D[i] = -D[i]; @@ -249,9 +250,9 @@ int CORE_zlatm1( int MODE, double COND, int IRSIGN, cham_dist_t DIST, */ if ( MODE < 0 ) { for( i=0; i<N/2; i++ ) { - temp = D[i]; - D[i] = D[N-1-i]; - D[N-1-i] = temp; + ctemp = D[i]; + D[i] = D[N-1-i]; + D[N-1-i] = ctemp; } } -- GitLab