xref: /plan9/sys/src/cmd/eqn/move.c (revision 3e12c5d1bb89fc02707907988834ef147769ddaf)
1*3e12c5d1SDavid du Colombier # include "e.h"
2*3e12c5d1SDavid du Colombier # include "y.tab.h"
3*3e12c5d1SDavid du Colombier 
move(int dir,int amt,int p)4*3e12c5d1SDavid du Colombier void move(int dir, int amt, int p)
5*3e12c5d1SDavid du Colombier {
6*3e12c5d1SDavid du Colombier 	double a;
7*3e12c5d1SDavid du Colombier 
8*3e12c5d1SDavid du Colombier 	yyval = p;
9*3e12c5d1SDavid du Colombier 	a = EM(amt/100.0, ps);
10*3e12c5d1SDavid du Colombier 	printf(".ds %d ", yyval);
11*3e12c5d1SDavid du Colombier 	if (dir == FWD || dir == BACK)
12*3e12c5d1SDavid du Colombier 		printf("\\h'%s%gm'\\*(%d\n", (dir==BACK) ? "-" : "", a, p);
13*3e12c5d1SDavid du Colombier 	else if (dir == UP)
14*3e12c5d1SDavid du Colombier 		printf("\\v'-%gm'\\*(%d\\v'%gm'\n", a, p, a);
15*3e12c5d1SDavid du Colombier 	else if (dir == DOWN)
16*3e12c5d1SDavid du Colombier 		printf("\\v'%gm'\\*(%d\\v'-%gm'\n", a, p, a);
17*3e12c5d1SDavid du Colombier 	dprintf(".\tmove %d dir %d amt %g; h=%g b=%g\n",
18*3e12c5d1SDavid du Colombier 		p, dir, a, eht[yyval], ebase[yyval]);
19*3e12c5d1SDavid du Colombier }
20