From 74d314afa9f16c2685be9292844b531ad5cfbc5b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?FEL=C5=A0=C3=96CI=20Marek?= <marek.felsoci@inria.fr>
Date: Mon, 6 Nov 2023 00:52:57 +0100
Subject: [PATCH] Simplify HMAT initialization

---
 include/main.h | 1 -
 src/hmat.c     | 9 ---------
 src/main.c     | 6 +++++-
 3 files changed, 5 insertions(+), 11 deletions(-)

diff --git a/include/main.h b/include/main.h
index e345aa0..673b36c 100644
--- a/include/main.h
+++ b/include/main.h
@@ -60,7 +60,6 @@ double* createCylinder(void) ;
 int printHelp() ;
 void prepare_hmat(int, int, int, int, int*, int*, int*, int*, void*, hmat_block_info_t *);
 void advanced_compute_hmat(struct hmat_block_compute_context_t*);
-int init_hmat_interface() ;
 void update_progress(hmat_progress_t * ctx);
 
 struct HMAT_desc_s;
diff --git a/src/hmat.c b/src/hmat.c
index fff785c..b3e5981 100644
--- a/src/hmat.c
+++ b/src/hmat.c
@@ -1,14 +1,5 @@
 #include "main.h"
 
-int init_hmat_interface() {
-  interface = calloc(1, sizeof(hmat_interface_t)); CHKPTRQ(interface);
-  hmat_init_default_interface(interface, HMAT_DOUBLE_PRECISION);
-  if (!interface->init)
-      SETERRQ(1, "No valid HMatrix interface. Incorrect parameters ?");
-  interface->init();
-  return 0;
-}
-
 /**
   This structure is a glue between hmat library and application.
 */
diff --git a/src/main.c b/src/main.c
index 637b908..182f58a 100644
--- a/src/main.c
+++ b/src/main.c
@@ -23,7 +23,11 @@ int main(int argc, char **argv) {
   printf("[minisolver] hmat version = %s\n", HMAT_VERSION);
 
   printf("[minisolver] hmat initialization ... ");
-  ierr = init_hmat_interface(); CHKERRQ(ierr);
+  interface = calloc(1, sizeof(hmat_interface_t)); CHKPTRQ(interface);
+  hmat_init_default_interface(interface, HMAT_DOUBLE_PRECISION);
+  if (!interface->init)
+      SETERRQ(1, "No valid HMatrix interface. Incorrect parameters ?");
+  interface->init();
   progress.update = update_progress;
   printf("done\n");
   
-- 
GitLab