From fd51df93d87c59446b97a1d7c11e5885760f40d2 Mon Sep 17 00:00:00 2001 From: Pedro Gonnet <gonnet@google.com> Date: Wed, 9 Nov 2016 21:52:30 +0100 Subject: [PATCH] use memswap in cell_split. --- src/cell.c | 21 ++++++--------------- 1 file changed, 6 insertions(+), 15 deletions(-) diff --git a/src/cell.c b/src/cell.c index 60bd3e799f..fed6cc22b0 100644 --- a/src/cell.c +++ b/src/cell.c @@ -52,6 +52,7 @@ #include "gravity.h" #include "hydro.h" #include "hydro_properties.h" +#include "memswap.h" #include "minmax.h" #include "scheduler.h" #include "space.h" @@ -513,15 +514,9 @@ void cell_split(struct cell *c, ptrdiff_t parts_offset, int *buff) { j++; bucket_count[bid]++; } - struct part temp_part = parts[j]; - struct xpart temp_xpart = xparts[j]; - int temp_buff = buff[j]; - parts[j] = part; - xparts[j] = xpart; - buff[j] = bid; - part = temp_part; - xpart = temp_xpart; - bid = temp_buff; + memswap(&parts[j], &part, sizeof(struct part)); + memswap(&xparts[j], &xpart, sizeof(struct xpart)); + memswap(&buff[j], &bid, sizeof(int)); } parts[k] = part; xparts[k] = xpart; @@ -602,12 +597,8 @@ void cell_split(struct cell *c, ptrdiff_t parts_offset, int *buff) { j++; bucket_count[bid]++; } - struct gpart temp_gpart = gparts[j]; - int temp_buff = buff[j]; - gparts[j] = gpart; - buff[j] = bid; - gpart = temp_gpart; - bid = temp_buff; + memswap(&gparts[j], &gpart, sizeof(struct gpart)); + memswap(&buff[j], &bid, sizeof(int)); } gparts[k] = gpart; buff[k] = bid; -- GitLab