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.14 by schorsch, Thu Jul 17 09:21:29 2003 UTC vs.
Revision 2.21 by greg, Fri Sep 23 19:04:52 2005 UTC

# Line 25 | Line 25 | typedef struct {
25      char  *fname;               /* function name */
26      short  nargs;               /* # of required arguments */
27      short  atyp;                /* assignment type (':' or '=') */
28 <    double  (*f)();             /* pointer to function */
28 >    double  (*f)(char *);       /* pointer to function */
29   }  LIBR;                /* a library function */
30  
31   typedef struct epnode {
32    int  type;                  /* node type */
33    struct epnode  *sibling;    /* next child this level */
32      union {
33          struct epnode  *kid;    /* first child */
34          double  num;            /* number */
# Line 45 | Line 43 | typedef struct epnode {
43              struct vardef  *next;       /* next in hash list */
44          }  *ln;                 /* link */
45      } v;                /* value */
46 +    struct epnode  *sibling;    /* next child this level */
47 +    int  type;                  /* node type */
48   }  EPNODE;      /* an expression node */
49  
50   typedef struct vardef  VARDEF;  /* a variable definition */
# Line 65 | Line 65 | typedef struct vardef  VARDEF; /* a variable definitio
65   #define  E_RCONST       020
66   #define  E_REDEFW       040
67  
68 < extern double  (*eoper[])();
68 > extern double  (*eoper[])(EPNODE *);
69   extern unsigned long  eclock;
70   extern unsigned int  esupport;
71   extern EPNODE   *curfunc;
72   extern int  nextc;
73 + extern int  eofc;
74  
75                                          /* defined in biggerlib.c */
76   extern void biggerlib(void);
# Line 79 | Line 80 | extern void    fcompile(char *fname);
80   extern void     scompile(char *str, char *fname, int ln);
81   extern double   varvalue(char *vname);
82   extern double   evariable(EPNODE *ep);
83 < extern void     varset(char *fname, int assign, double val);
83 > extern void     varset(char *vname, int assign, double val);
84   extern void     dclear(char *name);
85   extern void     dremove(char *name);
86   extern int      vardefined(char *name);
# Line 130 | Line 131 | extern int     isconstfun(EPNODE *ep);
131                                          /* defined in calfunc.c */
132   extern int      fundefined(char *fname);
133   extern double   funvalue(char *fname, int n, double *a);
134 < extern void     funset(char *fname, int nargs, int assign, double (*fptr)());
134 > extern void     funset(char *fname, int nargs, int assign,
135 >                                double (*fptr)(char *));
136   extern int      nargum(void);
137   extern double   argument(int n);
138   extern VARDEF   *argf(int n);
# Line 141 | Line 143 | extern void    libupdate(char *fn);
143                                          /* defined in calprnt.c */
144   extern void     eprint(EPNODE *ep, FILE *fp);
145   extern void     dprint(char *name, FILE *fp);
144                                        /* defined in savestr.c */
145 extern char     *savestr(char *str);
146 extern void     freestr(char *s);
147 extern int      shash(char *s);
148                                        /* defined in ealloc.c */
149 extern char     *emalloc(unsigned int n);
150 extern char     *ecalloc(unsigned int ne, unsigned int es);
151 extern char     *erealloc(char *cp, unsigned int n);
152 extern void     efree(char *cp);
146                                          /* defined by client */
147   extern double   chanvalue(int n);
148  

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines