|
|
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;
8:
9: treg = salloc();
10: yyval = p1;
11: d = EM(0.3, ps);
12: h = eht[p1] + eht[p2] + d;
13: b = eht[p2] - d;
14: dprintf(".\tS%d <- %d over %d; b=%g, h=%g\n",
15: yyval, p1, p2, b, h);
16: nrwid(p1, ps, p1);
17: nrwid(p2, ps, p2);
18: printf(".nr %d \\n(%d\n", treg, p1);
19: printf(".if \\n(%d>\\n(%d .nr %d \\n(%d\n", p2, treg, treg, p2);
20: printf(".nr %d \\n(%d+.5m\n", treg, treg);
21: printf(".ds %d \\v'%gm'\\h'\\n(%du-\\n(%du/2u'\\*(%d\\\n",
22: yyval, REL(eht[p2]-ebase[p2]-d,ps), treg, p2, p2);
23: printf("\\h'-\\n(%du-\\n(%du/2u'\\v'%gm'\\*(%d\\\n",
24: p2, p1, REL(-(eht[p2]-ebase[p2]+d+ebase[p1]),ps), p1);
25: printf("\\h'-\\n(%du-\\n(%du/2u+.1m'\\v'%gm'\\l'\\n(%du-.2m'\\h'.1m'\\v'%gm'\n",
26: treg, p1, REL(ebase[p1]+d,ps), treg, REL(d,ps));
27: ebase[yyval] = b;
28: eht[yyval] = h;
29: lfont[yyval] = rfont[yyval] = 0;
30: sfree(p2);
31: sfree(treg);
32: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.