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