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

Comparing ray/src/common/caldefn.c (file contents):
Revision 1.4 by greg, Thu Jul 19 11:06:37 1990 UTC vs.
Revision 1.6 by greg, Thu Jul 19 13:09:22 1990 UTC

# Line 115 | Line 115 | double  val;
115          ep2 = ep1->v.kid->sibling;
116          if (ep2->type == NUM) {
117              ep2->v.num = val;
118            ep2->sibling->v.tick = -1;
118              return;
119          }
120      }
# Line 130 | Line 129 | double  val;
129      ep2->type = NUM;
130      ep2->v.num = val;
131      addekid(ep1, ep2);
133    ep2 = newnode();
134    ep2->type = TICK;
135    ep2->v.tick = -1;
136    addekid(ep1, ep2);
137    ep2 = newnode();
138    ep2->type = NUM;
139    addekid(ep1, ep2);
132      dclear(vname);
133      dpush(ep1);
134   }
# Line 162 | Line 154 | char  *name;
154  
155  
156   #ifdef  OUTCHAN
157 < chanout()                       /* set output channels */
157 > chanout(cs)                     /* set output channels */
158 > int  (*cs)();
159   {
160      register EPNODE  *ep;
161  
162      for (ep = outchan; ep != NULL; ep = ep->sibling)
163 <        chanset(ep->v.kid->v.chan, evalue(ep->v.kid->sibling));
163 >        (*cs)(ep->v.kid->v.chan, evalue(ep->v.kid->sibling));
164  
165   }
166   #endif
# Line 501 | Line 494 | EPNODE  *d;
494          quit(1);
495      }
496      ep1 = d->v.kid->sibling;                    /* get expression */
497 +    if (ep1->type == NUM)
498 +        return(ep1->v.num);                     /* return if number */
499      ep2 = ep1->sibling;                         /* check time */
500      if (ep2->v.tick < 0 || ep2->v.tick < eclock) {
501          ep2->v.tick = eclock;
502          ep2 = ep2->sibling;
503 <        ep2->v.num = evalue(ep1);               /* compute new value */
503 >        ep2->v.num = evalue(ep1);               /* needs new value */
504      } else
505 <        ep2 = ep2->sibling;                     /* reuse old value */
505 >        ep2 = ep2->sibling;                     /* else reuse old value */
506  
507      return(ep2->v.num);
508   }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines