--- ray/src/util/rttree_reduce.c 2014/03/18 01:33:07 2.10 +++ ray/src/util/rttree_reduce.c 2016/08/18 00:52:48 2.16 @@ -1,5 +1,5 @@ #ifndef lint -static const char RCSid[] = "$Id: rttree_reduce.c,v 2.10 2014/03/18 01:33:07 greg Exp $"; +static const char RCSid[] = "$Id: rttree_reduce.c,v 2.16 2016/08/18 00:52:48 greg Exp $"; #endif /* * A utility called by genBSDF.pl to reduce tensor tree samples and output @@ -44,7 +44,7 @@ double tthresh; /* acceptance threshold (TBD) */ static void new_kids(TNODE *pn) { - pn->kid = (TNODE *)calloc(1<kid = (TNODE *)calloc((size_t)1<kid == NULL) error(SYSTEM, "out of memory in new_kids"); } @@ -155,7 +155,7 @@ print_tree(const TNODE *tp, const int bmin[], int l2s) bkmin[j] = bmin[j] + (i>>(ttrank-1-j) & 1); val = (ttrank == 3) ? dval3(bkmin[0],bkmin[1],bkmin[2]) : dval4(bkmin[0],bkmin[1],bkmin[2],bkmin[3]); - printf(" %.4e", val); + printf((0.001<=val)&(val<10.) ? " %.7f" : " %.3e", val); } fputs(" }\n", stdout); return; @@ -201,7 +201,7 @@ read_float(float *rowp, int n) if ((rowp == NULL) | (n <= 0)) return(0); - nread = fread(rowp, sizeof(float), n, stdin); + nread = getbinary(rowp, sizeof(float), n, stdin); if (nread != n) error(USER, "unexpected EOF on float input"); return(nread); @@ -227,7 +227,7 @@ read_double(float *rowp, int n) if (rowbuf == NULL) error(SYSTEM, "out of memory in read_double"); } - nread = fread(rowbuf, sizeof(double), n, stdin); + nread = getbinary(rowbuf, sizeof(double), n, stdin); if (nread != n) error(USER, "unexpected EOF on double input"); for (i = 0; i < nread; i++) @@ -276,7 +276,7 @@ load_data(void) error(COMMAND, "unsupported input format"); break; } - datarr = (float *)calloc(1<<(log2g*ttrank), sizeof(float)); + datarr = (float *)calloc((size_t)1<<(log2g*ttrank), sizeof(float)); if (datarr == NULL) error(SYSTEM, "out of memory in load_data"); if (ttrank == 3) {