118156Sjaap #ifndef lint
2*30727Sjaap static char sccsid[] = "@(#)funny.c 2.2 (CWI) 87/04/01";
323921Sjaap #endif lint
418156Sjaap # include "e.h"
5*30727Sjaap # include "y.tab.h"
618156Sjaap
7*30727Sjaap extern int Funnyps;
8*30727Sjaap extern float Funnyht, Funnybase;
9*30727Sjaap extern char *Sum, *Union, *Inter, *Prod;
10*30727Sjaap
funny(n)1123921Sjaap funny(n)
1223921Sjaap int n;
1323921Sjaap {
1418156Sjaap char *f;
1518156Sjaap
1623921Sjaap yyval = salloc();
1718156Sjaap switch(n) {
1818156Sjaap case SUM:
19*30727Sjaap f = Sum; break;
2018156Sjaap case UNION:
21*30727Sjaap f = Union; break;
2218156Sjaap case INTER: /* intersection */
23*30727Sjaap f = Inter; break;
2418156Sjaap case PROD:
25*30727Sjaap f = Prod; break;
2618156Sjaap default:
2718156Sjaap error(FATAL, "funny type %d in funny", n);
2818156Sjaap }
29*30727Sjaap printf(".ds %d %s\n", yyval, f);
30*30727Sjaap eht[yyval] = EM(1.0, ps+Funnyps) - EM(Funnyht, ps);
31*30727Sjaap ebase[yyval] = EM(Funnybase, ps);
3223921Sjaap eps[yyval] = ps;
3323921Sjaap dprintf(".\tS%d <- %s; h=%g b=%g\n",
3418156Sjaap yyval, f, eht[yyval], ebase[yyval]);
3518156Sjaap lfont[yyval] = rfont[yyval] = ROM;
3618156Sjaap }
37