06a9b44cb029413d7d7b27367230bf5b5b0dd006
kent
  Sat Dec 18 12:03:00 2021 -0800
Put in the usual optimization to print zero faster for a 5% speedup.

diff --git src/utils/matrixNormalize/matrixNormalize.c src/utils/matrixNormalize/matrixNormalize.c
index 1b1dcb3..5cf4322 100644
--- src/utils/matrixNormalize/matrixNormalize.c
+++ src/utils/matrixNormalize/matrixNormalize.c
@@ -69,31 +69,37 @@
             sum += val*val;
 	    }
        sum = sqrt(sum);
        }
     else
        {
        for (i=0; i<size; ++i)
             sum += row[i];
        }
     if (sum != 0.0)
 	scaleVal /= sum;
     for (i=0; i<size; ++i)
         row[i] *= scaleVal;
     fprintf(f, "%s", label);
     for (i=0; i<size; ++i)
+	{
+	double val = row[i];
+	if (val == 0.0)
+	   fputs("\t0", f);
+	else
 	    fprintf(f, "\t%g", row[i]);
+	}
     fprintf(f, "\n");
     }
 carefulClose(&f);
 vRowMatrixFree(&m);
 }
 
 void memMatrixToTsv(struct memMatrix *m, char *fileName)
 /* Output memory matrix to tab-sep file with labels */
 {
 FILE *f = mustOpen(fileName, "w");
 
 /* Print label row */
 fprintf(f, "%s", m->centerLabel);
 int x, xSize = m->xSize;
 for (x=0; x<xSize; ++x)