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

Comparing ray/src/common/calcomp.h (file contents):
Revision 2.24 by greg, Tue Sep 26 18:33:14 2023 UTC vs.
Revision 2.25 by greg, Fri Feb 23 03:47:57 2024 UTC

# Line 44 | Line 44 | typedef struct epnode {
44          }  *ln;                 /* link */
45      } v;                /* value */
46      struct epnode  *sibling;    /* next child this level */
47 <    int  type;                  /* node type */
47 >    short  type;                /* node type */
48 >    short  nkids;               /* child count (neg if array) */
49   }  EPNODE;      /* an expression node */
50  
51   typedef struct vardef  VARDEF;  /* a variable definition */
52  
53 + #define  nekids(ep)     abs((ep)->nkids)
54 +
55   #define  RMAXWORD       127             /* maximum word/id length */
56   #define  CNTXMARK       '`'             /* context mark */
57  
# Line 92 | Line 95 | extern char    *popcontext(void);
95   extern char     *qualname(char *nam, int lvl);
96   extern int      incontext(char *qn);
97   extern void     chanout(void (*cs)(int n, double v));
98 + extern void     doptimize(int activate);
99   extern void     dcleanup(int lvl);
100   extern EPNODE   *dlookup(char *name);
101   extern VARDEF   *varlookup(char *name);
# Line 109 | Line 113 | extern EPNODE  *getchan(void);
113   extern EPNODE   *eparse(char *expr);
114   extern double   eval(char *expr);
115   extern int      epcmp(EPNODE *ep1, EPNODE *ep2);
116 < extern void     epfree(EPNODE *epar);
116 > extern void     epfree(EPNODE *epar, int frep);
117 > extern void     epoptimize(EPNODE *epar);
118   extern EPNODE   *ekid(EPNODE *ep, int n);
114 extern int      nekids(EPNODE *ep);
119   extern void     initfile(FILE *fp, char *fn, int ln);
120   extern void     initstr(char *s, char *fn, int ln);
121   extern void     getscanpos(char **fnp, int *lnp, char **spp, FILE **fpp);
122   extern int      scan(void);
123   extern char     *long2ascii(long l);
124   extern void     syntax(char *err);
125 < extern void     addekid(EPNODE *ep, EPNODE *ekid);
125 > extern void     addekid(EPNODE *ep, EPNODE *ek);
126   extern char     *getname(void);
127   extern int      getinum(void);
128   extern double   getnum(void);

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines