From a386b4b60cbfb4b3cc1b20f75ecf55c0ec7e91a0 Mon Sep 17 00:00:00 2001
From: James Willis <james.s.willis@durham.ac.uk>
Date: Fri, 22 Sep 2017 09:19:37 +0100
Subject: [PATCH] Use FLT_MIN as padded value for the smoothing length to
 prevent fake particles being in range when vec_fmax(hig2,hjg2) is used to set
 the smoothing length.

---
 src/cache.h | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/cache.h b/src/cache.h
index 390921cafb..87d63b7ed1 100644
--- a/src/cache.h
+++ b/src/cache.h
@@ -30,6 +30,8 @@
 #include "sort_part.h"
 #include "vector.h"
 
+#include <float.h>
+
 #define NUM_VEC_PROC 2
 #define C2_CACHE_SIZE (NUM_VEC_PROC * VEC_SIZE * 6) + (NUM_VEC_PROC * VEC_SIZE)
 
@@ -517,7 +519,7 @@ __attribute__((always_inline)) INLINE void cache_read_two_partial_cells_sorted_f
     x[i] = fake_pix;
     y[i] = 1.f;
     z[i] = 1.f;
-    h[i] = 1.f;
+    h[i] = FLT_MIN;
 
     m[i] = 1.f;
     vx[i] = 1.f;
@@ -573,7 +575,7 @@ __attribute__((always_inline)) INLINE void cache_read_two_partial_cells_sorted_f
     xj[i] = fake_pjx;
     yj[i] = 1.f;
     zj[i] = 1.f;
-    hj[i] = 1.f;
+    hj[i] = FLT_MIN;
 
     mj[i] = 1.f;
     vxj[i] = 1.f;
-- 
GitLab