about summary refs log tree commit diff
path: root/generator/pgmkernel.c
diff options
context:
space:
mode:
authorgiraffedata <giraffedata@9d0c8265-081b-0410-96cb-a4ca84ce46f8>2014-02-02 18:30:09 +0000
committergiraffedata <giraffedata@9d0c8265-081b-0410-96cb-a4ca84ce46f8>2014-02-02 18:30:09 +0000
commit9ac8b572b9055563a26f4275defb9e8d4e4d6734 (patch)
treea8d901ac43032f3c29914051679b0a8b7b44b971 /generator/pgmkernel.c
parent2f0b278d8156fb9c829f1ac97db5b8f2aab58717 (diff)
downloadnetpbm-mirror-9ac8b572b9055563a26f4275defb9e8d4e4d6734.tar.gz
netpbm-mirror-9ac8b572b9055563a26f4275defb9e8d4e4d6734.tar.xz
netpbm-mirror-9ac8b572b9055563a26f4275defb9e8d4e4d6734.zip
cleanup
git-svn-id: http://svn.code.sf.net/p/netpbm/code/trunk@2120 9d0c8265-081b-0410-96cb-a4ca84ce46f8
Diffstat (limited to 'generator/pgmkernel.c')
-rw-r--r--generator/pgmkernel.c26
1 files changed, 15 insertions, 11 deletions
diff --git a/generator/pgmkernel.c b/generator/pgmkernel.c
index 4f40f003..ec634c16 100644
--- a/generator/pgmkernel.c
+++ b/generator/pgmkernel.c
@@ -174,14 +174,14 @@ writeKernel(FILE *       const ofP,
             unsigned int const halfRows) {
 
     unsigned int row;
-    
+
     pgm_writepgminit(stdout, cols, rows, maxval, 0);
 
     for (row = 0; row < halfRows; ++row)
         pgm_writepgmrow(stdout, halfKernel[row], cols, maxval, 0);
 
     /* Now write out the same rows in reverse order. */
-    
+
     for (; row < rows; ++row)
         pgm_writepgmrow(stdout, halfKernel[rows-1-row], cols, maxval, 0);
 }
@@ -193,12 +193,15 @@ main(int argc, const char * argv[]) {
 
     struct CmdlineInfo cmdline;
     unsigned int arows;
-    int arow;
+    unsigned int arow;
     double xcenter, ycenter;
         /* row, column "number" of center of kernel */
     double tMax;
         /* The maximum t value over all pixels */
-    gray ** destarray;
+    gray ** halfKernel;
+        /* The upper half of the kernel we generate.  The lower half is
+           just the mirror image of this.
+        */
 
     pm_proginit(&argc, argv);
 
@@ -213,27 +216,28 @@ main(int argc, const char * argv[]) {
 
     arows = (cmdline.rows + 1) / 2;
         /* Half the number of rows.  Add 1 if odd. */
-    destarray = pgm_allocarray(cmdline.cols, arows);
+    halfKernel = pgm_allocarray(cmdline.cols, arows);
 
     for (arow = 0; arow < arows; ++arow) {
         double const dy2 = SQR(arow - ycenter);
 
         unsigned int col;
-
-        for (col = 0; col < cmdline.cols; ++col) {
+        for (col = 0; col < (cmdline.cols +1) / 2; ++col) {
             double const dx2 = SQR(col - xcenter);
 
             double const normalized = t(dx2, dy2, cmdline.weight) / 2 / tMax;
 
-            destarray[arow][col] = destarray[arow][cmdline.cols - col - 1] =
-                ROUNDU(cmdline.maxval * (0.5 + normalized));
+            gray const grayval = ROUNDU(cmdline.maxval * (0.5 + normalized));
+
+            halfKernel[arow][col                   ] = grayval;
+            halfKernel[arow][cmdline.cols - col - 1] = grayval;
         }
     }
 
     writeKernel(stdout, cmdline.cols, cmdline.rows, cmdline.maxval,
-                destarray, arows);
+                halfKernel, arows);
 
-    pgm_freearray(destarray, arows);
+    pgm_freearray(halfKernel, arows);
 
     return 0;
 }