Revision: 65177
http://sourceforge.net/p/brlcad/code/65177
Author: carlmoore
Date: 2015-06-04 14:48:25 +0000 (Thu, 04 Jun 2015)
Log Message:
-----------
use the DECLARATIONS to initialize variables; simplify the sum calculation
(comment about non-use of 'else')
Modified Paths:
--------------
brlcad/trunk/src/util/bwstat.c
Modified: brlcad/trunk/src/util/bwstat.c
===================================================================
--- brlcad/trunk/src/util/bwstat.c 2015-06-04 02:16:43 UTC (rev 65176)
+++ brlcad/trunk/src/util/bwstat.c 2015-06-04 14:48:25 UTC (rev 65177)
@@ -72,11 +72,11 @@
{
int i, n;
double d;
- long num_pixels;
unsigned char *bp;
- long sum, partial_sum;
- int max, min, mode, median;
- double mean, var, skew;
+ long num_pixels = 0L ;
+ long sum = 0L , partial_sum = 0L ;
+ int max = -1, min = 256 , mode = 0 , median = 0 ;
+ double mean, var = 0.0 , skew = 0.0 ;
FILE *fp;
if (BU_STR_EQUAL(argv[1], "-h") || BU_STR_EQUAL(argv[1], "-?"))
@@ -105,9 +105,8 @@
}
/*
- * Build the histogram.
+ * Build the histogram. (num_pixels initialized to 0)
*/
- num_pixels = 0;
while ((n = fread(buf, sizeof(*buf), IBUFSIZE, fp)) > 0) {
num_pixels += n;
bp = &buf[0];
@@ -116,18 +115,19 @@
}
/*
- * Find sum, min, max, mode.
+ * Find sum, min, max, mode. (sum and mode initialized to 0;
+ * min initialized to 256; max initialized to -1)
*/
- sum = 0;
- min = 256;
- max = -1;
- mode = 0;
for (i = 0; i < 256; i++) {
- sum += i * bin[i];
- if (i < min && bin[i] != 0)
- min = i;
- if (i > max && bin[i] != 0)
- max = i;
+ if (bin[i] != 0) {
+ sum += i * bin[i];
+ /* no "else" between the next 2 statements,
+ * because both min and max are changed the 1st
+ * time this block runs during the present run.
+ */
+ if (i < min) min = i;
+ if (i > max) max = i;
+ }
if (bin[i] > bin[mode]) {
mode = i;
}
@@ -136,11 +136,9 @@
/*
* Now do a second pass to compute median,
- * variance and skew.
+ * variance and skew. (median and partial_sum initialized to 0;
+ * var and skew initialized to 0.0)
*/
- partial_sum = 0;
- median = 0;
- var = skew = 0.0;
for (i = 0; i < 256; i++) {
if (partial_sum < sum/2.0) {
partial_sum += i * bin[i];
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
------------------------------------------------------------------------------
_______________________________________________
BRL-CAD Source Commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/brlcad-commits