Annotation of researchv10no/cmd/eqn/sqrt.c, revision 1.1.1.1

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: }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.