From 68d962bc3c97df811d5f49b25b5df7737ae56ef7 Mon Sep 17 00:00:00 2001
From: Matthieu Schaller <schaller@strw.leidenuniv.nl>
Date: Sat, 18 Jan 2020 16:01:11 +0100
Subject: [PATCH] Better function signatures in part.[ch]

---
 src/engine_split_particles.c |  2 +-
 src/part.c                   | 24 +++++++++++++-----------
 src/part.h                   | 28 +++++++++++++++-------------
 src/swift.h                  |  1 +
 4 files changed, 30 insertions(+), 25 deletions(-)

diff --git a/src/engine_split_particles.c b/src/engine_split_particles.c
index 6c5528bd4c..2a9fae7efb 100644
--- a/src/engine_split_particles.c
+++ b/src/engine_split_particles.c
@@ -351,7 +351,7 @@ void engine_split_gas_particles(struct engine *e) {
 
     /* We now need to correct all the pointers of the other particle arrays */
     part_relink_all_parts_to_gparts(gparts_new, s->nr_gparts, s->parts,
-                                    s->sparts, s->bparts);
+                                    s->sparts, s->bparts, &e->threadpool);
     s->gparts = gparts_new;
   }
 
diff --git a/src/part.c b/src/part.c
index cb73aba1af..94ea115fad 100644
--- a/src/part.c
+++ b/src/part.c
@@ -32,6 +32,7 @@
 #include "error.h"
 #include "hydro.h"
 #include "part.h"
+#include "threadpool.h"
 
 /**
  * @brief Re-link the #gpart%s associated with the list of #part%s.
@@ -40,8 +41,8 @@
  * @param N The number of particles to re-link;
  * @param offset The offset of #part%s relative to the global parts list.
  */
-void part_relink_gparts_to_parts(struct part *parts, size_t N,
-                                 ptrdiff_t offset) {
+void part_relink_gparts_to_parts(struct part *parts, const size_t N,
+                                 const ptrdiff_t offset) {
   for (size_t k = 0; k < N; k++) {
     if (parts[k].gpart) {
       parts[k].gpart->id_or_neg_offset = -(k + offset);
@@ -56,8 +57,8 @@ void part_relink_gparts_to_parts(struct part *parts, size_t N,
  * @param N The number of s-particles to re-link;
  * @param offset The offset of #spart%s relative to the global sparts list.
  */
-void part_relink_gparts_to_sparts(struct spart *sparts, size_t N,
-                                  ptrdiff_t offset) {
+void part_relink_gparts_to_sparts(struct spart *sparts, const size_t N,
+                                  const ptrdiff_t offset) {
   for (size_t k = 0; k < N; k++) {
     if (sparts[k].gpart) {
       sparts[k].gpart->id_or_neg_offset = -(k + offset);
@@ -72,8 +73,8 @@ void part_relink_gparts_to_sparts(struct spart *sparts, size_t N,
  * @param N The number of s-particles to re-link;
  * @param offset The offset of #bpart%s relative to the global bparts list.
  */
-void part_relink_gparts_to_bparts(struct bpart *bparts, size_t N,
-                                  ptrdiff_t offset) {
+void part_relink_gparts_to_bparts(struct bpart *bparts, const size_t N,
+                                  const ptrdiff_t offset) {
   for (size_t k = 0; k < N; k++) {
     if (bparts[k].gpart) {
       bparts[k].gpart->id_or_neg_offset = -(k + offset);
@@ -88,7 +89,7 @@ void part_relink_gparts_to_bparts(struct bpart *bparts, size_t N,
  * @param N The number of particles to re-link;
  * @param parts The global #part array in which to find the #gpart offsets.
  */
-void part_relink_parts_to_gparts(struct gpart *gparts, size_t N,
+void part_relink_parts_to_gparts(struct gpart *gparts, const size_t N,
                                  struct part *parts) {
   for (size_t k = 0; k < N; k++) {
     if (gparts[k].type == swift_type_gas) {
@@ -104,7 +105,7 @@ void part_relink_parts_to_gparts(struct gpart *gparts, size_t N,
  * @param N The number of particles to re-link;
  * @param sparts The global #spart array in which to find the #gpart offsets.
  */
-void part_relink_sparts_to_gparts(struct gpart *gparts, size_t N,
+void part_relink_sparts_to_gparts(struct gpart *gparts, const size_t N,
                                   struct spart *sparts) {
   for (size_t k = 0; k < N; k++) {
     if (gparts[k].type == swift_type_stars) {
@@ -120,7 +121,7 @@ void part_relink_sparts_to_gparts(struct gpart *gparts, size_t N,
  * @param N The number of particles to re-link;
  * @param bparts The global #bpart array in which to find the #gpart offsets.
  */
-void part_relink_bparts_to_gparts(struct gpart *gparts, size_t N,
+void part_relink_bparts_to_gparts(struct gpart *gparts, const size_t N,
                                   struct bpart *bparts) {
   for (size_t k = 0; k < N; k++) {
     if (gparts[k].type == swift_type_black_hole) {
@@ -139,9 +140,10 @@ void part_relink_bparts_to_gparts(struct gpart *gparts, size_t N,
  * @param sparts The global #spart array in which to find the #gpart offsets.
  * @param bparts The global #bpart array in which to find the #gpart offsets.
  */
-void part_relink_all_parts_to_gparts(struct gpart *gparts, size_t N,
+void part_relink_all_parts_to_gparts(struct gpart *gparts, const size_t N,
                                      struct part *parts, struct spart *sparts,
-                                     struct bpart *bparts) {
+                                     struct bpart *bparts,
+                                     struct threadpool *tp) {
   for (size_t k = 0; k < N; k++) {
     if (gparts[k].type == swift_type_gas) {
       parts[-gparts[k].id_or_neg_offset].gpart = &gparts[k];
diff --git a/src/part.h b/src/part.h
index d0ff990895..3f2d637115 100644
--- a/src/part.h
+++ b/src/part.h
@@ -32,9 +32,10 @@
 
 /* Local headers. */
 #include "align.h"
-#include "fof.h"
 #include "part_type.h"
-#include "timeline.h"
+
+/* Pre-declarations */
+struct threadpool;
 
 /* Some constants. */
 #define part_align 128
@@ -119,21 +120,22 @@
 #error "Invalid choice of black hole particle"
 #endif
 
-void part_relink_gparts_to_parts(struct part *parts, size_t N,
-                                 ptrdiff_t offset);
-void part_relink_gparts_to_sparts(struct spart *sparts, size_t N,
-                                  ptrdiff_t offset);
-void part_relink_gparts_to_bparts(struct bpart *bparts, size_t N,
-                                  ptrdiff_t offset);
-void part_relink_parts_to_gparts(struct gpart *gparts, size_t N,
+void part_relink_gparts_to_parts(struct part *parts, const size_t N,
+                                 const ptrdiff_t offset);
+void part_relink_gparts_to_sparts(struct spart *sparts, const size_t N,
+                                  const ptrdiff_t offset);
+void part_relink_gparts_to_bparts(struct bpart *bparts, const size_t N,
+                                  const ptrdiff_t offset);
+void part_relink_parts_to_gparts(struct gpart *gparts, const size_t N,
                                  struct part *parts);
-void part_relink_sparts_to_gparts(struct gpart *gparts, size_t N,
+void part_relink_sparts_to_gparts(struct gpart *gparts, const size_t N,
                                   struct spart *sparts);
-void part_relink_bparts_to_gparts(struct gpart *gparts, size_t N,
+void part_relink_bparts_to_gparts(struct gpart *gparts, const size_t N,
                                   struct bpart *bparts);
-void part_relink_all_parts_to_gparts(struct gpart *gparts, size_t N,
+void part_relink_all_parts_to_gparts(struct gpart *gparts, const size_t N,
                                      struct part *parts, struct spart *sparts,
-                                     struct bpart *bparts);
+                                     struct bpart *bparts,
+                                     struct threadpool *tp);
 void part_verify_links(struct part *parts, struct gpart *gparts,
                        struct spart *sparts, struct bpart *bparts,
                        size_t nr_parts, size_t nr_gparts, size_t nr_sparts,
diff --git a/src/swift.h b/src/swift.h
index d8221080b1..c7a5f8d5ac 100644
--- a/src/swift.h
+++ b/src/swift.h
@@ -43,6 +43,7 @@
 #include "error.h"
 #include "feedback.h"
 #include "feedback_properties.h"
+#include "fof.h"
 #include "gravity.h"
 #include "gravity_derivatives.h"
 #include "gravity_properties.h"
-- 
GitLab