From d161566c7f6cace0918f62ff6335bb9251bc0f56 Mon Sep 17 00:00:00 2001
From: Mathieu Faverge <mathieu.faverge@inria.fr>
Date: Wed, 18 Sep 2024 13:57:56 +0200
Subject: [PATCH] Factorize calls to lapacke_[sd]lamch by replacing them by
 calls to CHAMELEON[sd]lamch

---
 compute/pzgepdf_qdwh.c              | 10 +---------
 example/lapack_to_chameleon/step0.h |  6 +-----
 example/lapack_to_chameleon/step1.h |  6 +-----
 example/lapack_to_chameleon/step2.h |  6 +-----
 example/lapack_to_chameleon/step3.h |  6 +-----
 example/lapack_to_chameleon/step4.h |  6 +-----
 example/lapack_to_chameleon/step5.h |  6 +-----
 example/lapack_to_chameleon/step6.h |  6 +-----
 example/lapack_to_chameleon/step7.h |  6 +-----
 testing/chameleon_ztesting.c        |  4 +---
 testing/vendor_ztesting.c           |  4 +---
 11 files changed, 11 insertions(+), 55 deletions(-)

diff --git a/compute/pzgepdf_qdwh.c b/compute/pzgepdf_qdwh.c
index 2f640e7a7..de7a82cb1 100644
--- a/compute/pzgepdf_qdwh.c
+++ b/compute/pzgepdf_qdwh.c
@@ -604,15 +604,7 @@ chameleon_pzgepdf_qdwh( cham_mtxtype_t mtxtype, CHAM_desc_t *descU, CHAM_desc_t
     double normest, Unorm;
     int it, itconv, facto = -1;
 
-#if !defined(CHAMELEON_SIMULATION)
-    double eps  = LAPACKE_dlamch_work('e');
-#else
-#if defined(PRECISION_z) || defined(PRECISION_d)
-    double eps  = 1.e-15;
-#else
-    double eps  = 1.e-7;
-#endif
-#endif
+    double eps  = CHAMELEON_dlamch();
     double tol1 = 5. * eps;
     double tol3 = pow( tol1, 1./3. );
     double id_flops_ratio = ( _zgepdf_qdwh_opt_id == 1 ) ? .5 : 1.5;
diff --git a/example/lapack_to_chameleon/step0.h b/example/lapack_to_chameleon/step0.h
index 60c98fc18..1f940475f 100644
--- a/example/lapack_to_chameleon/step0.h
+++ b/example/lapack_to_chameleon/step0.h
@@ -96,11 +96,7 @@ static void read_args(int argc, char *argv[], int *iparam){
  * Print a header message to summarize main parameters
  */
 static void print_header(char *prog_name, int * iparam) {
-#if defined(CHAMELEON_SIMULATION)
-    double    eps = 0.;
-#else
-    double    eps = LAPACKE_dlamch_work( 'e' );
-#endif
+    double eps = LAPACKE_dlamch_work( 'e' );
 
     printf( "#\n"
             "# CHAMELEON %s\n"
diff --git a/example/lapack_to_chameleon/step1.h b/example/lapack_to_chameleon/step1.h
index abec8c3ea..d3bc0724a 100644
--- a/example/lapack_to_chameleon/step1.h
+++ b/example/lapack_to_chameleon/step1.h
@@ -88,11 +88,7 @@ static void read_args(int argc, char *argv[], int *iparam){
  * Print a header message to summarize main parameters
  */
 static void print_header(char *prog_name, int * iparam) {
-#if defined(CHAMELEON_SIMULATION)
-    double    eps = 0.;
-#else
-    double    eps = LAPACKE_dlamch_work( 'e' );
-#endif
+    double eps = LAPACKE_dlamch_work( 'e' );
 
     printf( "#\n"
             "# CHAMELEON %d.%d.%d, %s\n"
diff --git a/example/lapack_to_chameleon/step2.h b/example/lapack_to_chameleon/step2.h
index 470466c28..1c43fc944 100644
--- a/example/lapack_to_chameleon/step2.h
+++ b/example/lapack_to_chameleon/step2.h
@@ -88,11 +88,7 @@ static void read_args(int argc, char *argv[], int *iparam){
  * Print a header message to summarize main parameters
  */
 static void print_header(char *prog_name, int * iparam) {
-#if defined(CHAMELEON_SIMULATION)
-    double    eps = 0.;
-#else
-    double    eps = LAPACKE_dlamch_work( 'e' );
-#endif
+    double eps = LAPACKE_dlamch_work( 'e' );
 
     printf( "#\n"
             "# CHAMELEON %d.%d.%d, %s\n"
diff --git a/example/lapack_to_chameleon/step3.h b/example/lapack_to_chameleon/step3.h
index 63c1ff0f4..cbeeccaad 100644
--- a/example/lapack_to_chameleon/step3.h
+++ b/example/lapack_to_chameleon/step3.h
@@ -88,11 +88,7 @@ static void read_args(int argc, char *argv[], int *iparam){
  * Print a header message to summarize main parameters
  */
 static void print_header(char *prog_name, int * iparam) {
-#if defined(CHAMELEON_SIMULATION)
-    double    eps = 0.;
-#else
-    double    eps = LAPACKE_dlamch_work( 'e' );
-#endif
+    double eps = LAPACKE_dlamch_work( 'e' );
 
     printf( "#\n"
             "# CHAMELEON %d.%d.%d, %s\n"
diff --git a/example/lapack_to_chameleon/step4.h b/example/lapack_to_chameleon/step4.h
index 28f0c4ca3..d5b1a1c25 100644
--- a/example/lapack_to_chameleon/step4.h
+++ b/example/lapack_to_chameleon/step4.h
@@ -88,11 +88,7 @@ static void read_args(int argc, char *argv[], int *iparam){
  * Print a header message to summarize main parameters
  */
 static void print_header(char *prog_name, int * iparam) {
-#if defined(CHAMELEON_SIMULATION)
-    double    eps = 0.;
-#else
-    double    eps = LAPACKE_dlamch_work( 'e' );
-#endif
+    double eps = LAPACKE_dlamch_work( 'e' );
 
     printf( "#\n"
             "# CHAMELEON %d.%d.%d, %s\n"
diff --git a/example/lapack_to_chameleon/step5.h b/example/lapack_to_chameleon/step5.h
index e2ebf14d9..8ecf015e4 100644
--- a/example/lapack_to_chameleon/step5.h
+++ b/example/lapack_to_chameleon/step5.h
@@ -103,11 +103,7 @@ static void read_args(int argc, char *argv[], int *iparam){
  * Print a header message to summarize main parameters
  */
 static void print_header(char *prog_name, int * iparam) {
-#if defined(CHAMELEON_SIMULATION)
-    double    eps = 0.;
-#else
-    double    eps = LAPACKE_dlamch_work( 'e' );
-#endif
+    double eps = LAPACKE_dlamch_work( 'e' );
 
     printf( "#\n"
             "# CHAMELEON %d.%d.%d, %s\n"
diff --git a/example/lapack_to_chameleon/step6.h b/example/lapack_to_chameleon/step6.h
index d60683987..98043e257 100644
--- a/example/lapack_to_chameleon/step6.h
+++ b/example/lapack_to_chameleon/step6.h
@@ -115,11 +115,7 @@ static void read_args(int argc, char *argv[], int *iparam){
  * Print a header message to summarize main parameters
  */
 static void print_header(char *prog_name, int * iparam) {
-#if defined(CHAMELEON_SIMULATION)
-    double    eps = 0.;
-#else
-    double    eps = LAPACKE_dlamch_work( 'e' );
-#endif
+    double eps = LAPACKE_dlamch_work( 'e' );
 
     printf( "#\n"
             "# CHAMELEON %d.%d.%d, %s\n"
diff --git a/example/lapack_to_chameleon/step7.h b/example/lapack_to_chameleon/step7.h
index ad975a20b..7622f5ddb 100644
--- a/example/lapack_to_chameleon/step7.h
+++ b/example/lapack_to_chameleon/step7.h
@@ -165,11 +165,7 @@ static void read_args(int argc, char *argv[], int *iparam){
  * Print a header message to summarize main parameters
  */
 static void print_header(char *prog_name, int * iparam) {
-#if defined(CHAMELEON_SIMULATION)
-    double    eps = 0.;
-#else
-    double    eps = LAPACKE_dlamch_work( 'e' );
-#endif
+    double eps = LAPACKE_dlamch_work( 'e' );
 
     printf( "#\n"
             "# CHAMELEON %d.%d.%d, %s\n"
diff --git a/testing/chameleon_ztesting.c b/testing/chameleon_ztesting.c
index 9b7336c18..4c2dd37c0 100644
--- a/testing/chameleon_ztesting.c
+++ b/testing/chameleon_ztesting.c
@@ -167,7 +167,6 @@ int main (int argc, char **argv) {
 
     testing_options_init( &options );
 
-#if !defined(CHAMELEON_SIMULATION)
     /* Let's initialize the accuracy for the checks */
     {
 #if (defined(PRECISION_z) || defined(PRECISION_d))
@@ -178,10 +177,9 @@ int main (int argc, char **argv) {
         else
 #endif
         {
-            testing_setaccuracy( LAPACKE_dlamch_work('e') );
+            testing_setaccuracy( CHAMELEON_dlamch() );
         }
     }
-#endif
 
     rc = CHAMELEON_Init( options.threads, options.gpus );
     if ( rc != CHAMELEON_SUCCESS ) {
diff --git a/testing/vendor_ztesting.c b/testing/vendor_ztesting.c
index 72b484b21..fd358eed9 100644
--- a/testing/vendor_ztesting.c
+++ b/testing/vendor_ztesting.c
@@ -118,10 +118,8 @@ int main (int argc, char **argv) {
 
     testing_options_init( &options );
 
-#if !defined(CHAMELEON_SIMULATION)
     /* Let's initialize the accuracy for the checks */
-    testing_setaccuracy( LAPACKE_dlamch_work('e') );
-#endif
+    testing_setaccuracy( CHAMELEON_dlamch() );
 
     rc = CHAMELEON_Init( options.threads, 0 );
     if ( rc != CHAMELEON_SUCCESS ) {
-- 
GitLab