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

Comparing ray/src/rt/data.c (file contents):
Revision 2.7 by greg, Mon Feb 8 13:12:28 1993 UTC vs.
Revision 2.9 by greg, Fri May 13 13:05:13 1994 UTC

# Line 36 | Line 36 | static char SCCSid[] = "$SunId$ LBL";
36  
37   extern char  *fgetword();
38  
39 < extern char  *libpath;                  /* library search path */
39 > extern char  *getlibpath();             /* library search path */
40  
41   static DATARRAY  *dtab[TABSIZ];         /* data array list */
42  
# Line 78 | Line 78 | char  *dname;
78           *              0 0 ni p0i p1i .. pni
79           */
80  
81 <        if ((dfname = getpath(dname, libpath, R_OK)) == NULL) {
81 >        if ((dfname = getpath(dname, getlibpath(), R_OK)) == NULL) {
82                  sprintf(errmsg, "cannot find data file \"%s\"", dname);
83                  error(USER, errmsg);
84          }
# Line 169 | Line 169 | DATARRAY *
169   getpict(pname)                          /* get picture pname */
170   char  *pname;
171   {
172        extern char  *libpath;
172          double  inpaspect;
173          char  *pfname;
174          FILE  *fp;
# Line 185 | Line 184 | char  *pname;
184                  if (!strcmp(pname, pp->name))
185                          return(pp);             /* found! */
186  
187 <        if ((pfname = getpath(pname, libpath, R_OK)) == NULL) {
187 >        if ((pfname = getpath(pname, getlibpath(), R_OK)) == NULL) {
188                  sprintf(errmsg, "cannot find picture file \"%s\"", pname);
189                  error(USER, errmsg);
190          }
# Line 342 | Line 341 | double *pt;
341          int  asize;
342          int  lower, upper;
343          register int  i;
344 <        double  x, y, y0, y1;
344 >        double  x, y0, y1;
345                                          /* set up dimensions for recursion */
346          sd.nd = dp->nd - 1;
347          asize = 1;
# Line 355 | Line 354 | double *pt;
354                                          /* get independent variable */
355          if (dp->dim[0].p == NULL) {             /* evenly spaced points */
356                  x = (pt[0] - dp->dim[0].org)/dp->dim[0].siz;
357 <                x = x * (dp->dim[0].ne - 1);
357 >                x *= (double)(dp->dim[0].ne - 1);
358                  i = x;
359                  if (i < 0)
360                          i = 0;
# Line 396 | Line 395 | double *pt;
395           * taper off harmonically to zero.
396           */
397          if (x > i+2)
398 <                y = (2*y1-y0)/(x-i-1);
400 <        else if (x < i-1)
401 <                y = (2*y0-y1)/(i-x);
402 <        else
403 <                y = y0*((i+1)-x) + y1*(x-i);
398 >                return( (2*y1-y0)/(x-(i-1)) );
399  
400 <        return(y);
400 >        if (x < i-1)
401 >                return( (2*y0-y1)/(i-x) );
402 >
403 >        return( y0*((i+1)-x) + y1*(x-i) );
404   }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines