ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/radiance/ray/src/px/pf3.c
(Generate patch)

Comparing ray/src/px/pf3.c (file contents):
Revision 2.10 by greg, Thu Jul 15 18:32:06 1993 UTC vs.
Revision 2.11 by greg, Fri Jul 16 11:32:06 1993 UTC

# Line 224 | Line 224 | double  p0;
224   {
225          double  m = 1.0;
226          double  t, num, denom, avg, wsum;
227        double  maxm = orad/rad/CHECKRAD;
227          double  mlimit[2];
228          int  ilimit = 4/TEPS;
229          register int  i;
230                                  /* iterative search for m */
231 <        mlimit[0] = 1.0; mlimit[1] = maxm;
231 >        mlimit[0] = 1.0; mlimit[1] = orad/rad/CHECKRAD;
232          do {
233                                          /* compute grey weighted average */
234                  i = 1.25*CHECKRAD*rad*m + .5;
# Line 246 | Line 245 | double  p0;
245                  avg /= wsum;
246                                          /* check threshold */
247                  denom = m*m/gausstable[0] - p0/avg;
248 <                if (denom <= FTINY)             /* zero exclusive average */
249 <                        return(maxm);
248 >                if (denom <= FTINY) {           /* zero exclusive average */
249 >                        if (m >= mlimit[1]-REPS)
250 >                                break;
251 >                        m = mlimit[1];
252 >                        continue;
253 >                }
254                  num = p0/avg - 1.0;
255                  if (num < 0.0) num = -num;
256                  t = num/denom;

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines