Turn nbnxn_grid_t into a class
[alexxy/gromacs.git] / src / gromacs / nbnxm / pairlist_simd_2xmm.h
index ecfb60e37409561c312009c9f334585883e26d09..df06703fc2665133f984b0b0d56b95044ec77b0b 100644 (file)
@@ -73,7 +73,7 @@ icell_set_x_simd_2xnn(int ci,
  * \param[in,out] numDistanceChecks   The number of distance checks performed
  */
 static inline void
-makeClusterListSimd2xnn(const nbnxn_grid_t       &jGrid,
+makeClusterListSimd2xnn(const Grid               &jGrid,
                         NbnxnPairlistCpu *        nbl,
                         int                       icluster,
                         int                       firstCell,
@@ -116,9 +116,9 @@ makeClusterListSimd2xnn(const nbnxn_grid_t       &jGrid,
     while (!InRange && jclusterFirst <= jclusterLast)
     {
 #if NBNXN_SEARCH_BB_SIMD4
-        d2 = subc_bb_dist2_simd4(0, bb_ci, jclusterFirst, jGrid.bbj);
+        d2 = subc_bb_dist2_simd4(0, bb_ci, jclusterFirst, jGrid.jBoundingBoxes());
 #else
-        d2 = subc_bb_dist2(0, bb_ci, jclusterFirst, jGrid.bbj);
+        d2 = subc_bb_dist2(0, bb_ci, jclusterFirst, jGrid.jBoundingBoxes());
 #endif
         *numDistanceChecks += 2;
 
@@ -133,7 +133,7 @@ makeClusterListSimd2xnn(const nbnxn_grid_t       &jGrid,
         }
         else if (d2 < rlist2)
         {
-            xind_f  = xIndexFromCj<NbnxnLayout::Simd2xNN>(cjFromCi<NbnxnLayout::Simd2xNN, 0>(jGrid.cell0) + jclusterFirst);
+            xind_f  = xIndexFromCj<NbnxnLayout::Simd2xNN>(cjFromCi<NbnxnLayout::Simd2xNN, 0>(jGrid.cellOffset()) + jclusterFirst);
 
             jx_S  = loadDuplicateHsimd(x_j + xind_f + 0*c_xStride2xNN);
             jy_S  = loadDuplicateHsimd(x_j + xind_f + 1*c_xStride2xNN);
@@ -174,9 +174,9 @@ makeClusterListSimd2xnn(const nbnxn_grid_t       &jGrid,
     while (!InRange && jclusterLast > jclusterFirst)
     {
 #if NBNXN_SEARCH_BB_SIMD4
-        d2 = subc_bb_dist2_simd4(0, bb_ci, jclusterLast, jGrid.bbj);
+        d2 = subc_bb_dist2_simd4(0, bb_ci, jclusterLast, jGrid.jBoundingBoxes());
 #else
-        d2 = subc_bb_dist2(0, bb_ci, jclusterLast, jGrid.bbj);
+        d2 = subc_bb_dist2(0, bb_ci, jclusterLast, jGrid.jBoundingBoxes());
 #endif
         *numDistanceChecks += 2;
 
@@ -191,7 +191,7 @@ makeClusterListSimd2xnn(const nbnxn_grid_t       &jGrid,
         }
         else if (d2 < rlist2)
         {
-            xind_l  = xIndexFromCj<NbnxnLayout::Simd2xNN>(cjFromCi<NbnxnLayout::Simd2xNN, 0>(jGrid.cell0) + jclusterLast);
+            xind_l  = xIndexFromCj<NbnxnLayout::Simd2xNN>(cjFromCi<NbnxnLayout::Simd2xNN, 0>(jGrid.cellOffset()) + jclusterLast);
 
             jx_S  = loadDuplicateHsimd(x_j + xind_l + 0*c_xStride2xNN);
             jy_S  = loadDuplicateHsimd(x_j + xind_l + 1*c_xStride2xNN);
@@ -230,7 +230,7 @@ makeClusterListSimd2xnn(const nbnxn_grid_t       &jGrid,
         {
             /* Store cj and the interaction mask */
             nbnxn_cj_t cjEntry;
-            cjEntry.cj   = cjFromCi<NbnxnLayout::Simd2xNN, 0>(jGrid.cell0) + jcluster;
+            cjEntry.cj   = cjFromCi<NbnxnLayout::Simd2xNN, 0>(jGrid.cellOffset()) + jcluster;
             cjEntry.excl = get_imask_simd_2xnn(excludeSubDiagonal, icluster, jcluster);
             nbl->cj.push_back(cjEntry);
         }