xref: /csrg-svn/old/eqn/common_source/move.c (revision 14486)
1*14486Ssam #ifndef lint
2*14486Ssam static char sccsid[] = "@(#)move.c	4.3 08/11/83";
3*14486Ssam #endif
411012Sshannon 
511012Sshannon # include "e.h"
611012Sshannon # include "e.def"
711012Sshannon 
811012Sshannon move(dir, amt, p) int dir, amt, p; {
911012Sshannon 	int a;
1011012Sshannon 
1111012Sshannon 	yyval = p;
1211023Sshannon #ifndef NEQN
1311012Sshannon 	a = VERT( (EFFPS(ps) * 6 * amt) / 100);
1411023Sshannon #else NEQN
1511023Sshannon 	a = VERT( (amt+49)/50 );	/* nearest number of half-lines */
1611023Sshannon #endif NEQN
1711012Sshannon 	printf(".ds %d ", yyval);
1811012Sshannon 	if( dir == FWD || dir == BACK )	/* fwd, back */
1911012Sshannon 		printf("\\h'%s%du'\\*(%d\n", (dir==BACK) ? "-" : "", a, p);
2011012Sshannon 	else if (dir == UP)
2111012Sshannon 		printf("\\v'-%du'\\*(%d\\v'%du'\n", a, p, a);
2211012Sshannon 	else if (dir == DOWN)
2311012Sshannon 		printf("\\v'%du'\\*(%d\\v'-%du'\n", a, p, a);
2411012Sshannon 	if(dbg)printf(".\tmove %d dir %d amt %d; h=%d b=%d\n",
2511012Sshannon 		p, dir, a, eht[yyval], ebase[yyval]);
2611012Sshannon }
27