xref: /original-bsd/old/eqn/common_source/funny.c (revision 81aa1937)
1 /*-
2  * Copyright (c) 1991 The Regents of the University of California.
3  * All rights reserved.
4  *
5  * %sccs.include.proprietary.c%
6  */
7 
8 #ifndef lint
9 static char sccsid[] = "@(#)funny.c	4.4 (Berkeley) 04/17/91";
10 #endif /* not lint */
11 
12 # include "e.h"
13 # include "e.def"
14 
15 funny(n) int n; {
16 	char *f;
17 
18 	yyval = oalloc();
19 	switch(n) {
20 	case SUM:
21 		f = "\\(*S"; break;
22 	case UNION:
23 		f = "\\(cu"; break;
24 	case INTER:	/* intersection */
25 		f = "\\(ca"; break;
26 	case PROD:
27 		f = "\\(*P"; break;
28 	default:
29 		error(FATAL, "funny type %d in funny", n);
30 	}
31 #ifndef NEQN
32 	printf(".ds %d \\s%d\\v'.3m'\\s+5%s\\s-5\\v'-.3m'\\s%d\n", yyval, ps, f, ps);
33 	eht[yyval] = VERT( (ps+5)*6 -(ps*6*2)/10 );
34 	ebase[yyval] = VERT( (ps*6*3)/10 );
35 #else NEQN
36 	printf(".ds %d %s\n", yyval, f);
37 	eht[yyval] = VERT(2);
38 	ebase[yyval] = 0;
39 #endif NEQN
40 	if(dbg)printf(".\tfunny: S%d <- %s; h=%d b=%d\n",
41 		yyval, f, eht[yyval], ebase[yyval]);
42 	lfont[yyval] = rfont[yyval] = ROM;
43 }
44