Annotation of 41BSD/lib/libF77/pow_di.c, revision 1.1.1.1

1.1       root        1: double pow_di(ap, bp)
                      2: double *ap;
                      3: long int *bp;
                      4: {
                      5: double pow, x;
                      6: long int n;
                      7: 
                      8: pow = 1;
                      9: x = *ap;
                     10: n = *bp;
                     11: 
                     12: if(n != 0)
                     13:        {
                     14:        if(n < 0)
                     15:                {
                     16:                if(x == 0)
                     17:                        {
                     18:                        return(pow);
                     19:                        }
                     20:                n = -n;
                     21:                x = 1/x;
                     22:                }
                     23:        for( ; ; )
                     24:                {
                     25:                if(n & 01)
                     26:                        pow *= x;
                     27:                if(n >>= 1)
                     28:                        x *= x;
                     29:                else
                     30:                        break;
                     31:                }
                     32:        }
                     33: return(pow);
                     34: }

unix.superglobalmegacorp.com

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