--- ray/src/util/ranimove2.c 2003/02/22 02:07:30 3.1
+++ ray/src/util/ranimove2.c 2003/07/27 22:12:04 3.5
@@ -1,5 +1,5 @@
#ifndef lint
-static const char RCSid[] = "$Id: ranimove2.c,v 3.1 2003/02/22 02:07:30 greg Exp $";
+static const char RCSid[] = "$Id: ranimove2.c,v 3.5 2003/07/27 22:12:04 schorsch Exp $";
#endif
/*
* ranimove2.c
@@ -9,63 +9,10 @@ static const char RCSid[] = "$Id: ranimove2.c,v 3.1 20
* Created by Gregory Ward on Wed Jan 08 2003.
*/
-/* ====================================================================
- * The Radiance Software License, Version 1.0
- *
- * Copyright (c) 1990 - 2002 The Regents of the University of California,
- * through Lawrence Berkeley National Laboratory. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- * if any, must include the following acknowledgment:
- * "This product includes Radiance software
- * (http://radsite.lbl.gov/)
- * developed by the Lawrence Berkeley National Laboratory
- * (http://www.lbl.gov/)."
- * Alternately, this acknowledgment may appear in the software itself,
- * if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Radiance," "Lawrence Berkeley National Laboratory"
- * and "The Regents of the University of California" must
- * not be used to endorse or promote products derived from this
- * software without prior written permission. For written
- * permission, please contact radiance@radsite.lbl.gov.
- *
- * 5. Products derived from this software may not be called "Radiance",
- * nor may "Radiance" appear in their name, without prior written
- * permission of Lawrence Berkeley National Laboratory.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL Lawrence Berkeley National Laboratory OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of Lawrence Berkeley National Laboratory. For more
- * information on Lawrence Berkeley National Laboratory, please see
- * .
- */
+#include "copyright.h"
+#include
+
#include "ranimove.h"
#include "random.h"
@@ -91,7 +38,7 @@ refine_first() /* initial refinement pass */
printf("\tFirst refinement pass...");
fflush(stdout);
}
- bzero((void *)esamp, sizeof(int)*hres*vres);
+ memset((void *)esamp, '\0', sizeof(int)*hres*vres);
/*
* In our initial pass, we look for lower error pixels from
* the same objects in the previous frame, and copy them here.
@@ -104,10 +51,10 @@ refine_first() /* initial refinement pass */
if (xmbuffer[n] == MO_UNK)
continue;
xp = x + xmbuffer[n];
- if ((xp < 0 | xp >= hres))
+ if ((xp < 0) | (xp >= hres))
continue;
yp = y + ymbuffer[n];
- if ((yp < 0 | yp >= vres))
+ if ((yp < 0) | (yp >= vres))
continue;
np = fndx(xp, yp);
/* make sure we hit same object */
@@ -188,7 +135,7 @@ static void
sum_consp(cdest, cs) /* sum in conspicuity result */
register struct ConspSum *cdest, *cs;
{
- if ((cdest == NULL | cs == NULL))
+ if ((cdest == NULL) | (cs == NULL))
return;
addcolor(cdest->vsum, cs->vsum);
addcolor(cdest->v2sum, cs->v2sum);
@@ -218,7 +165,7 @@ register struct ConspSum *cs;
} else
eest = estimaterr(cs->vsum, cs->v2sum, cs->nsamp, cs->nsamp);
- if ((x0 == x1-1 & y0 == y1-1)) { /* update pixel error */
+ if ((x0 == x1-1) & (y0 == y1-1)) { /* update pixel error */
int n = fndx(x0, y0);
int ai;
int ne;
@@ -288,12 +235,12 @@ struct ConspSum *cs;
struct ConspSum mysum;
int i;
- if ((x0 >= x1 | y0 >= y1))
+ if ((x0 >= x1) | (y0 >= y1))
error(CONSISTENCY, "bad call to subconspicuity");
clr_consp(&mysum); /* prepare sum */
- if ((x0 == x1-1 & y0 == y1-1)) { /* single pixel */
+ if ((x0 == x1-1) & (y0 == y1-1)) { /* single pixel */
double hls;
register int n = fndx(x0, y0);
if (sbuffer[n]) {
@@ -349,7 +296,7 @@ conspicuity() /* compute conspicuous error map */
int fx, fy;
/* reuse previous z-buffer */
cerrmap = (float *)zprev;
- bzero((void *)cerrmap, sizeof(float)*hres*vres);
+ memset((void *)cerrmap, '\0', sizeof(float)*hres*vres);
cerrzero = 1;
/* compute base pixel frequency */
pixel_deg = .5*(hres/vw.horiz + vres/vw.vert);
@@ -442,9 +389,9 @@ register int n;
if (sbuffer[n] != 1)
error(CONSISTENCY, "bad code in ray_refine");
if (getambcolor(ctmp, obuffer[n]) &&
- (colval(ctmp,RED) > 0.01 &
- colval(ctmp,GRN) > 0.01 &
- colval(ctmp,BLU) > 0.01)) {
+ (colval(ctmp,RED) > 0.01) &
+ (colval(ctmp,GRN) > 0.01) &
+ (colval(ctmp,BLU) > 0.01)) {
for (i = 0; i < 3; i++)
asump->diffsum[i] +=
(colval(ir.rcol,i) - colval(cbuffer[n],i))
@@ -481,7 +428,7 @@ long nrays;
int i;
/* skip if nothing significant */
if (ndtset && cerrzero)
- return;
+ return(0);
/* initialize priority list */
pord = (int *)malloc(sizeof(int)*hres*vres);
for (i = hres*vres; i--; )
@@ -524,13 +471,13 @@ int pass;
static long ray_cnt = 0;
static double ctime_used = 0;
static int csp_cnt = 0;
- int timed = (fcur > fbeg | pass > 0 | quickstart);
+ int timed = (fcur > fbeg) | (pass > 0) | (quickstart);
double time_start, rtime_start, time_done;
struct AmbSum myAmbSum;
long rays_todo, nr;
register int n;
/* IBR refinement? */
- if ((pass == 0 & fcur > fbeg))
+ if ((pass == 0) & (fcur > fbeg))
return(refine_first());
/* any time left? */
time_start = getTime();
@@ -652,7 +599,7 @@ if (pass == 1) {
return(1);
nomore:
/* make sure error map is updated */
- if ((fcur == fbeg | pass > 1))
+ if ((fcur == fbeg) | (pass > 1))
comp_frame_error();
return(0);
}