xref: /titanic_51/usr/src/cmd/eqn/funny.c (revision 779fc935796a940997d18b31d64a9fec9c6b40f6)
1*779fc935Sceastha /*
2*779fc935Sceastha  * Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
3*779fc935Sceastha  * Use is subject to license terms.
4*779fc935Sceastha  */
5*779fc935Sceastha 
67c478bd9Sstevel@tonic-gate /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
77c478bd9Sstevel@tonic-gate /*	  All Rights Reserved  	*/
87c478bd9Sstevel@tonic-gate 
97c478bd9Sstevel@tonic-gate /*
107c478bd9Sstevel@tonic-gate  * Copyright (c) 1980 Regents of the University of California.
117c478bd9Sstevel@tonic-gate  * All rights reserved. The Berkeley software License Agreement
127c478bd9Sstevel@tonic-gate  * specifies the terms and conditions for redistribution.
137c478bd9Sstevel@tonic-gate  */
147c478bd9Sstevel@tonic-gate 
15*779fc935Sceastha #pragma ident	"%Z%%M%	%I%	%E% SMI"
167c478bd9Sstevel@tonic-gate 
177c478bd9Sstevel@tonic-gate #include "e.h"
187c478bd9Sstevel@tonic-gate #include "e.def"
197c478bd9Sstevel@tonic-gate #include <locale.h>
207c478bd9Sstevel@tonic-gate 
21*779fc935Sceastha void
22*779fc935Sceastha funny(int n)
23*779fc935Sceastha {
247c478bd9Sstevel@tonic-gate 	char *f;
257c478bd9Sstevel@tonic-gate 
267c478bd9Sstevel@tonic-gate 	yyval = oalloc();
277c478bd9Sstevel@tonic-gate 	switch (n) {
287c478bd9Sstevel@tonic-gate 	case SUM:
297c478bd9Sstevel@tonic-gate 		f = "\\(*S"; break;
307c478bd9Sstevel@tonic-gate 	case UNION:
317c478bd9Sstevel@tonic-gate 		f = "\\(cu"; break;
327c478bd9Sstevel@tonic-gate 	case INTER:	/* intersection */
337c478bd9Sstevel@tonic-gate 		f = "\\(ca"; break;
347c478bd9Sstevel@tonic-gate 	case PROD:
357c478bd9Sstevel@tonic-gate 		f = "\\(*P"; break;
367c478bd9Sstevel@tonic-gate 	default:
37*779fc935Sceastha 		(void) error(FATAL, gettext("funny type %d in funny"), n);
387c478bd9Sstevel@tonic-gate 	}
397c478bd9Sstevel@tonic-gate #ifndef NEQN
40*779fc935Sceastha 	printf(".ds %d \\s%d\\v'.3m'\\s+5%s\\s-5\\v'-.3m'\\s%d\n",
41*779fc935Sceastha 	    yyval, ps, f, ps);
427c478bd9Sstevel@tonic-gate 	eht[yyval] = VERT(EM(1.0, ps+5) - EM(0.2, ps));
437c478bd9Sstevel@tonic-gate 	ebase[yyval] = VERT(EM(0.3, ps));
44*779fc935Sceastha #else	/* NEQN */
457c478bd9Sstevel@tonic-gate 	printf(".ds %d %s\n", yyval, f);
467c478bd9Sstevel@tonic-gate 	eht[yyval] = VERT(2);
477c478bd9Sstevel@tonic-gate 	ebase[yyval] = 0;
48*779fc935Sceastha #endif	/* NEQN */
49*779fc935Sceastha 	if (dbg)
50*779fc935Sceastha 		printf(".\tfunny: S%d <- %s; h=%d b=%d\n",
517c478bd9Sstevel@tonic-gate 		    yyval, f, eht[yyval], ebase[yyval]);
527c478bd9Sstevel@tonic-gate 	lfont[yyval] = rfont[yyval] = ROM;
537c478bd9Sstevel@tonic-gate }
54