From 351b43a32c5a2223630374299d796a117cb3166f Mon Sep 17 00:00:00 2001
From: Giovanni La Mura <giovanni.lamura@inaf.it>
Date: Mon, 11 Mar 2024 15:44:31 +0100
Subject: [PATCH] Collect type definitions under type header

---
 src/cluster/cluster.cpp   | 11 -----------
 src/include/algebraic.h   | 14 --------------
 src/include/clu_subs.h    |  8 --------
 src/include/types.h       | 16 ++++++++++++++++
 src/libnptm/algebraic.cpp |  5 -----
 5 files changed, 16 insertions(+), 38 deletions(-)

diff --git a/src/cluster/cluster.cpp b/src/cluster/cluster.cpp
index 1f2fb9be..7d41b25e 100644
--- a/src/cluster/cluster.cpp
+++ b/src/cluster/cluster.cpp
@@ -13,17 +13,6 @@
 #include "../include/types.h"
 #endif
 
-#ifdef USE_LAPACK
-#ifdef USE_MKL
-#include <mkl_lapacke.h>
-#else
-#include <lapacke.h>
-#endif
-#ifndef INCLUDE_LAPACK_CALLS_H_
-#include "../include/lapack_calls.h"
-#endif
-#endif
-
 #ifndef INCLUDE_ERRORS_H_
 #include "../include/errors.h"
 #endif
diff --git a/src/include/algebraic.h b/src/include/algebraic.h
index 01437ac9..efd13cf7 100644
--- a/src/include/algebraic.h
+++ b/src/include/algebraic.h
@@ -12,23 +12,9 @@
  * legacy serial function implementation is used as a fall-back.
  */
 
-#ifdef USE_LAPACK
-#ifdef USE_MKL
-#include <mkl_lapacke.h>
-#else
-#include <lapacke.h>
-#endif
-#else
-#define lapack_int int64_t
-#endif
-
 #ifndef INCLUDE_ALGEBRAIC_H_
 #define INCLUDE_ALGEBRAIC_H_
 
-#ifndef np_int
-#define np_int lapack_int
-#endif
-
 /*! \brief Perform in-place matrix inversion.
  *
  * \param mat: `complex double **` The matrix to be inverted (must be a square matrix).
diff --git a/src/include/clu_subs.h b/src/include/clu_subs.h
index 6852a469..2e57fa71 100644
--- a/src/include/clu_subs.h
+++ b/src/include/clu_subs.h
@@ -17,14 +17,6 @@
 #ifndef INCLUDE_CLU_SUBS_H_
 #define INCLUDE_CLU_SUBS_H_
 
-#ifndef np_int
-#ifndef lapack_int
-#define np_int int64_t
-#else
-#define np_int lapack_int
-#endif
-#endif
-
 /*! \brief Compute the asymmetry-corrected scattering cross-section of a cluster.
  *
  * This function computes the product between the geometrical asymmetry parameter and
diff --git a/src/include/types.h b/src/include/types.h
index 0271769a..6eda961a 100644
--- a/src/include/types.h
+++ b/src/include/types.h
@@ -12,6 +12,22 @@
 
 typedef __complex__ double dcomplex;
 
+#ifdef USE_LAPACK
+#ifdef USE_MKL
+#include <mkl_lapacke.h>
+#else
+#include <lapacke.h>
+#endif
+#endif
+
+#ifndef np_int
+#ifdef lapack_int
+#define np_int lapack_int
+#else
+#define np_int int64_t
+#endif
+#endif
+
 /*! \brief Get the real part of a complex number.
  *
  * \param z: `complex double` The argument of the function.
diff --git a/src/libnptm/algebraic.cpp b/src/libnptm/algebraic.cpp
index 48335792..8811abca 100644
--- a/src/libnptm/algebraic.cpp
+++ b/src/libnptm/algebraic.cpp
@@ -9,11 +9,6 @@
 #endif
 
 #ifdef USE_LAPACK
-#ifdef USE_MKL
-#include <mkl_lapacke.h>
-#else
-#include <lapacke.h>
-#endif
 #ifndef INCLUDE_LAPACK_CALLS_H_
 #include "../include/lapack_calls.h"
 #endif
-- 
GitLab