Increment position counters - microoptimization
authorKevin M. Rosenberg <kevin@rosenberg.net>
Wed, 21 Mar 2018 20:14:35 +0000 (14:14 -0600)
committerKevin M. Rosenberg <kevin@rosenberg.net>
Wed, 21 Mar 2018 20:14:35 +0000 (14:14 -0600)
libctsim/phantom.cpp

index f028777..bf11654 100644 (file)
@@ -516,13 +516,14 @@ Phantom::convertToImagefile (ImageFile& im, const int iTotalRasterCols, const do
       double x = x_start + ix * xinc;
       int iColStore = ix + iStorageOffset;
       ImageFileColumn vCol = v[iColStore];
-      for (int iy = 0; iy < ny; iy++) {
-        double y = ymin + iy * yinc;
+
+      double y = ymin;
+      for (int iy = 0; iy < ny; iy++, y += yinc) {
         double dAtten = 0;
-        for (int kx = 0; kx < nsample; kx++) {
-          double xi = x + kxofs + kxinc * kx;
-          for (int ky = 0; ky < nsample; ky++) {
-            double yi = y + kyofs + ky * kyinc;
+        double xi = x + kxofs;
+        for (int kx = 0; kx < nsample; kx++, xi += kxinc) {
+          double yi = y + kyofs;
+          for (int ky = 0; ky < nsample; ky++, yi += kyinc) {
             if (rPElem.isPointInside (xi, yi, PHM_COORD))
               dAtten += rPElem.atten();
           } // ky
@@ -531,9 +532,9 @@ Phantom::convertToImagefile (ImageFile& im, const int iTotalRasterCols, const do
       } /* iy */
     }  /* ix */
   }  /* pelem */
-  
+
 #else
-  
+
   double x_start = xmin + (colStart * xinc);
   for (PElemConstIterator pelem = m_listPElem.begin(); pelem != m_listPElem.end(); pelem++) {
     const PhantomElement& rPElem = **pelem;
@@ -559,7 +560,7 @@ Phantom::convertToImagefile (ImageFile& im, const int iTotalRasterCols, const do
     double factor = 1.0 / static_cast<double>(nsample * nsample);
 #if HAVE_OPENMP
     #pragma omp parallel for
-#endif    
+#endif
     for (int ix = 0; ix < colCount; ix++) {
       int iColStore = ix + iStorageOffset;
       ImageFileColumn vCol = v[iColStore];