Annotation of 43BSDReno/lib/libF77/pow_ri.c, revision 1.1

1.1     ! root        1: /*
        !             2:  * Copyright (c) 1980 Regents of the University of California.
        !             3:  * All rights reserved.  The Berkeley software License Agreement
        !             4:  * specifies the terms and conditions for redistribution.
        !             5:  *
        !             6:  *     @(#)pow_ri.c    5.4     1/24/88
        !             7:  */
        !             8: 
        !             9: #ifdef tahoe
        !            10: #define        double  float
        !            11: #endif /* tahoe */
        !            12: 
        !            13: float
        !            14: pow_ri(ap, bp)
        !            15:        float *ap;
        !            16:        long *bp;
        !            17: {
        !            18:        register long n = *bp;
        !            19: #ifdef tahoe
        !            20:        register
        !            21: #endif /* tahoe */
        !            22:        double y, x = *ap;
        !            23: 
        !            24:        if (!n)
        !            25:                return((double)1);
        !            26:        if (n < 0) {
        !            27:                x = (double)1 / x;
        !            28:                n = -n;
        !            29:        }
        !            30:        while (!(n&1)) {
        !            31:                x *= x;
        !            32:                n >>= 1;
        !            33:        }
        !            34:        for (y = x; --n > 0; y *= x)
        !            35:                while (!(n&1)) {
        !            36:                        x *= x;
        !            37:                        n >>= 1;
        !            38:                }
        !            39:        return(y);
        !            40: }
        !            41: #ifdef tahoe
        !            42: #undef double
        !            43: #endif /* tahoe */

unix.superglobalmegacorp.com

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