|
|
1.1 ! root 1: # include "e.h" ! 2: ! 3: boverb(p1, p2) ! 4: int p1, p2; ! 5: { ! 6: int treg; ! 7: float h, b, d, d1, d2, d3; ! 8: extern float Overgap, Overwid, Overline; ! 9: ! 10: treg = salloc(); ! 11: yyval = p1; ! 12: d = EM(Overgap, ps); ! 13: h = eht[p1] + eht[p2] + d; ! 14: b = eht[p2] - d; ! 15: dprintf(".\tS%d <- %d over %d; b=%g, h=%g\n", ! 16: yyval, p1, p2, b, h); ! 17: nrwid(p1, ps, p1); ! 18: nrwid(p2, ps, p2); ! 19: printf(".nr %d \\n(%d\n", treg, p1); ! 20: printf(".if \\n(%d>\\n(%d .nr %d \\n(%d\n", p2, treg, treg, p2); ! 21: printf(".nr %d \\n(%d+%gm\n", treg, treg, Overwid); ! 22: d2 = eht[p2]-ebase[p2]-d; /* denom */ ! 23: printf(".ds %d \\v'%gm'\\h'\\n(%du-\\n(%du/2u'\\*(%d\\v'%gm'\\\n", ! 24: yyval, REL(d2,ps), treg, p2, p2, REL(-d2,ps)); ! 25: d1 = 2 * d + ebase[p1]; /* num */ ! 26: printf("\\h'-\\n(%du-\\n(%du/2u'\\v'%gm'\\*(%d\\v'%gm'\\\n", ! 27: p2, p1, REL(-d1,ps), p1, REL(d1,ps)); ! 28: printf("\\h'-\\n(%du-\\n(%du/2u+%gm'\\v'%gm'\\l'\\n(%du-%gm'\\h'%gm'\\v'%gm'\n", ! 29: treg, p1, Overline, REL(-d,ps), ! 30: treg, 2*Overline, Overline, REL(d,ps)); ! 31: ebase[yyval] = b; ! 32: eht[yyval] = h; ! 33: lfont[yyval] = rfont[yyval] = 0; ! 34: sfree(p2); ! 35: sfree(treg); ! 36: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.