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