|
|
1.1 ! root 1: #include "e.h" ! 2: ! 3: void sqrt(int p2) ! 4: { ! 5: static int af = 0; ! 6: int nps; /* point size for radical */ ! 7: double radscale = 0.95; ! 8: ! 9: if (ttype == DEVPOST) ! 10: radscale = 1.05; ! 11: nps = ps * radscale * eht[p2] / EM(1.0,ps) + 0.99; /* kludgy */ ! 12: nps = max(EFFPS(nps), ps); ! 13: yyval = p2; ! 14: if (ttype == DEVCAT || ttype == DEVAPS) ! 15: eht[yyval] = EM(1.2, nps); ! 16: else if (ttype == DEVPOST) ! 17: eht[yyval] = EM(1.15, nps); ! 18: else /* DEV202, DEVPOST */ ! 19: eht[yyval] = EM(1.15, nps); ! 20: dprintf(".\tS%d <- sqrt S%d;b=%g, h=%g, nps=%d\n", ! 21: yyval, p2, ebase[yyval], eht[yyval], nps); ! 22: printf(".as %d \\|\n", yyval); ! 23: nrwid(p2, ps, p2); ! 24: if (af++ == 0) ! 25: printf(".af 10 01\n"); /* make it two digits when it prints */ ! 26: printf(".nr 10 %.3fu*\\n(.su/10\n", 9.2*eht[p2]); /* this nonsense */ ! 27: /* guesses point size corresponding to height of stuff */ ! 28: printf(".ds %d \\v'%gm'\\s(\\n(10", yyval, REL(ebase[p2],ps)); ! 29: if (ttype == DEVCAT || ttype == DEVAPS) ! 30: printf("\\v'-.2m'\\(sr\\l'\\n(%du\\(rn'\\v'.2m'", p2); ! 31: else /* DEV202, DEVPOST so far */ ! 32: printf("\\(sr\\l'\\n(%du\\(rn'", p2); ! 33: printf("\\s0\\v'%gm'\\h'-\\n(%du'\\^\\*(%d\n", REL(-ebase[p2],ps), p2, p2); ! 34: lfont[yyval] = rfont[yyval] = ROM; ! 35: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.