ref: 97bc549d4b8bf638946ac4ff3b066941bca9a03b
dir: /dat.h/
enum
{
TDOUBLE,
TPOINT,
TVECTOR,
TNORMAL,
TQUAT,
};
typedef struct Var Var;
typedef struct Symbol Symbol;
typedef struct Const Const;
typedef struct Builtin Builtin;
struct Var
{
int type;
union {
double dval;
Point3 pval;
Quaternion qval;
};
};
struct Symbol
{
char *name;
int type;
union {
Var var;
double val; /* constant value */
double (*fn)(double);
} u;
Symbol *next;
};
struct Const
{
char *name;
double val;
};
struct Builtin
{
char *name;
double (*fn)();
};