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