Apply clang-format to source tree
[alexxy/gromacs.git] / src / gromacs / simd / tests / bootstrap_loadstore.cpp
index bb9307f3c7cf80e633e1d92fd4dbcb3ef9471db6..52ba8e396b8415a7b3fa260cfcf9d1d9be63ee29 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * This file is part of the GROMACS molecular simulation package.
  *
- * Copyright (c) 2014,2015,2017,2018, by the GROMACS development team, led by
+ * Copyright (c) 2014,2015,2017,2018,2019, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
@@ -82,42 +82,45 @@ namespace
  * real and int are pretty much similar, so we use a template function with
  * additional function pointers for the actual load/store calls.
  */
-template <typename T, typename TSimd, int simdWidth> void
-loadStoreTester(TSimd gmx_simdcall loadFn(const T* mem), void gmx_simdcall storeFn(T* mem, TSimd),
-                const int loadOffset, const int storeOffset)
+template<typename T, typename TSimd, int simdWidth>
+void loadStoreTester(TSimd gmx_simdcall loadFn(const T* mem),
+                     void gmx_simdcall storeFn(T* mem, TSimd),
+                     const int         loadOffset,
+                     const int         storeOffset)
 {
     /* We need simdWidth storage in the first place, another simdWidth elements
      * so we can create (deliberately) offset un-aligned pointers, and finally
      * simdWidth elements at the beginning and end
      * to test we are not polluting memory there either. Sum=4*simdWidth.
      */
-    alignas(GMX_SIMD_ALIGNMENT) T        src[simdWidth*4];
-    alignas(GMX_SIMD_ALIGNMENT) T        dst[simdWidth*4];
+    alignas(GMX_SIMD_ALIGNMENT) T src[simdWidth * 4];
+    alignas(GMX_SIMD_ALIGNMENT) T dst[simdWidth * 4];
 
     // Make sure we have memory to check both before and after the test pointers
-    T *              pCopySrc = src + simdWidth + loadOffset;
-    T *              pCopyDst = dst + simdWidth + storeOffset;
-    int              i;
+    T*  pCopySrc = src + simdWidth + loadOffset;
+    T*  pCopyDst = dst + simdWidth + storeOffset;
+    int i;
 
-    for (i = 0; i < simdWidth*4; i++)
+    for (i = 0; i < simdWidth * 4; i++)
     {
-        src[i] =  1+i;
-        dst[i] = -1-i;
+        src[i] = 1 + i;
+        dst[i] = -1 - i;
     }
 
     storeFn(pCopyDst, loadFn(pCopySrc));
 
     for (i = 0; i < simdWidth; i++)
     {
-        EXPECT_EQ(pCopySrc[i], pCopyDst[i]) << "SIMD load or store not moving data correctly for element " << i;
+        EXPECT_EQ(pCopySrc[i], pCopyDst[i])
+                << "SIMD load or store not moving data correctly for element " << i;
     }
 
-    for (i = 0; i < simdWidth*4; i++)
+    for (i = 0; i < simdWidth * 4; i++)
     {
-        EXPECT_EQ(src[i], (T)(1+i)) << "Side effect on source memory, i = " << i;
-        if (dst+i < pCopyDst || dst+i >= pCopyDst+simdWidth)
+        EXPECT_EQ(src[i], (T)(1 + i)) << "Side effect on source memory, i = " << i;
+        if (dst + i < pCopyDst || dst + i >= pCopyDst + simdWidth)
         {
-            EXPECT_EQ(dst[i], (T)(-1-i)) << "Side effect on destination memory, i = " << i;
+            EXPECT_EQ(dst[i], (T)(-1 - i)) << "Side effect on destination memory, i = " << i;
         }
     }
 }
@@ -128,8 +131,11 @@ loadStoreTester(TSimd gmx_simdcall loadFn(const T* mem), void gmx_simdcall store
  * \tparam TSimd  Corresponding SIMD type
  * \param  m      Memory address to load from
  */
-template <typename T, typename TSimd> TSimd gmx_simdcall
-loadWrapper(const T * m) { return load<TSimd>(m); }
+template<typename T, typename TSimd>
+TSimd gmx_simdcall loadWrapper(const T* m)
+{
+    return load<TSimd>(m);
+}
 
 /*! \brief Wrapper to handle proxy objects returned by some loadU functions.
  *
@@ -137,17 +143,20 @@ loadWrapper(const T * m) { return load<TSimd>(m); }
  * \tparam TSimd  Corresponding SIMD type
  * \param  m      Memory address to load from
  */
-template <typename T, typename TSimd> TSimd gmx_simdcall
-loadUWrapper(const T * m) { return loadU<TSimd>(m); }
+template<typename T, typename TSimd>
+TSimd gmx_simdcall loadUWrapper(const T* m)
+{
+    return loadU<TSimd>(m);
+}
 
 
-#if GMX_SIMD_HAVE_REAL
+#    if GMX_SIMD_HAVE_REAL
 TEST(SimdBootstrapTest, loadStore)
 {
     loadStoreTester<real, SimdReal, GMX_SIMD_REAL_WIDTH>(loadWrapper, store, 0, 0);
 }
 
-#    if GMX_SIMD_HAVE_LOADU
+#        if GMX_SIMD_HAVE_LOADU
 TEST(SimdBootstrapTest, loadU)
 {
     for (int i = 0; i < GMX_SIMD_REAL_WIDTH; i++)
@@ -155,9 +164,9 @@ TEST(SimdBootstrapTest, loadU)
         loadStoreTester<real, SimdReal, GMX_SIMD_REAL_WIDTH>(loadUWrapper, store, i, 0);
     }
 }
-#    endif  // GMX_SIMD_HAVE_LOADU
+#        endif // GMX_SIMD_HAVE_LOADU
 
-#    if GMX_SIMD_HAVE_STOREU
+#        if GMX_SIMD_HAVE_STOREU
 TEST(SimdBootstrapTest, storeU)
 {
     for (int i = 0; i < GMX_SIMD_REAL_WIDTH; i++)
@@ -165,7 +174,7 @@ TEST(SimdBootstrapTest, storeU)
         loadStoreTester<real, SimdReal, GMX_SIMD_REAL_WIDTH>(loadWrapper, storeU, 0, i);
     }
 }
-#    endif  // GMX_SIMD_HAVE_STOREU
+#        endif // GMX_SIMD_HAVE_STOREU
 
 // Tests for SimdInt32 load & store operations
 TEST(SimdBootstrapTest, loadStoreI)
@@ -173,7 +182,7 @@ TEST(SimdBootstrapTest, loadStoreI)
     loadStoreTester<int, SimdInt32, GMX_SIMD_REAL_WIDTH>(loadWrapper, store, 0, 0);
 }
 
-#    if GMX_SIMD_HAVE_LOADU
+#        if GMX_SIMD_HAVE_LOADU
 TEST(SimdBootstrapTest, loadUI)
 {
     for (int i = 0; i < GMX_SIMD_REAL_WIDTH; i++)
@@ -181,9 +190,9 @@ TEST(SimdBootstrapTest, loadUI)
         loadStoreTester<int, SimdInt32, GMX_SIMD_REAL_WIDTH>(loadUWrapper, store, i, 0);
     }
 }
-#    endif  // GMX_SIMD_HAVE_LOADU
+#        endif // GMX_SIMD_HAVE_LOADU
 
-#    if GMX_SIMD_HAVE_STOREU
+#        if GMX_SIMD_HAVE_STOREU
 TEST(SimdBootstrapTest, storeUI)
 {
     for (int i = 0; i < GMX_SIMD_REAL_WIDTH; i++)
@@ -191,16 +200,16 @@ TEST(SimdBootstrapTest, storeUI)
         loadStoreTester<int, SimdInt32, GMX_SIMD_REAL_WIDTH>(loadWrapper, storeU, 0, i);
     }
 }
-#    endif // GMX_SIMD_HAVE_STOREU
-#endif     // GMX_SIMD_HAVE_REAL
+#        endif // GMX_SIMD_HAVE_STOREU
+#    endif     // GMX_SIMD_HAVE_REAL
 
-#if GMX_SIMD4_HAVE_REAL
+#    if GMX_SIMD4_HAVE_REAL
 TEST(SimdBootstrapTest, simd4LoadStore)
 {
     loadStoreTester<real, Simd4Real, GMX_SIMD4_WIDTH>(load4, store4, 0, 0);
 }
 
-#    if GMX_SIMD_HAVE_LOADU
+#        if GMX_SIMD_HAVE_LOADU
 TEST(SimdBootstrapTest, simd4LoadU)
 {
     for (int i = 0; i < GMX_SIMD4_WIDTH; i++)
@@ -208,9 +217,9 @@ TEST(SimdBootstrapTest, simd4LoadU)
         loadStoreTester<real, Simd4Real, GMX_SIMD4_WIDTH>(load4U, store4, i, 0);
     }
 }
-#    endif  // GMX_SIMD_HAVE_LOADU
+#        endif // GMX_SIMD_HAVE_LOADU
 
-#    if GMX_SIMD_HAVE_STOREU
+#        if GMX_SIMD_HAVE_STOREU
 TEST(SimdBootstrapTest, simd4StoreU)
 {
     for (int i = 0; i < GMX_SIMD4_WIDTH; i++)
@@ -218,16 +227,16 @@ TEST(SimdBootstrapTest, simd4StoreU)
         loadStoreTester<real, Simd4Real, GMX_SIMD4_WIDTH>(load4, store4U, 0, i);
     }
 }
-#    endif // GMX_SIMD_HAVE_STOREU
-#endif     // GMX_SIMD4_HAVE_REAL
+#        endif // GMX_SIMD_HAVE_STOREU
+#    endif     // GMX_SIMD4_HAVE_REAL
 
 /*! \} */
 /*! \endcond */
 
-}      // namespace
+} // namespace
 
-}      // namespace test
+} // namespace test
 
-}      // namespace gmx
+} // namespace gmx
 
 #endif // GMX_SIMD