Annotation of coherent/b/lib/libm/sqrt.c, revision 1.1

1.1     ! root        1: /*
        !             2:  * Square root function.
        !             3:  */
        !             4: #include <math.h>
        !             5: 
        !             6: #if    EMU87
        !             7: #include "emumath.h"
        !             8: #endif
        !             9: 
        !            10: double
        !            11: sqrt(x)
        !            12: double x;
        !            13: {
        !            14:        double s;
        !            15:        int i;
        !            16:        register int n;
        !            17: 
        !            18:        if (x < 0.0) {
        !            19:                errno = EDOM;
        !            20:                return (0.0);
        !            21:        }
        !            22:        if (x == 0.)
        !            23:                return(0.);
        !            24:        n = L2L2P;
        !            25:        /* The assignment in the following line is to avoid compiler bug. */
        !            26:        s = frexp(x, &i);
        !            27:        s = ldexp(1.0, i/2);
        !            28:        do {
        !            29:                s = (s + x/s) / 2.0;
        !            30:        } while (--n);
        !            31:        return (s);
        !            32: }

unix.superglobalmegacorp.com

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