Annotation of researchv10no/cmd/map/libmap/cubrt.c, revision 1.1

1.1     ! root        1: #include "map.h"
        !             2: 
        !             3: double
        !             4: cubrt(double a)
        !             5: {
        !             6:        double x,y,x1;
        !             7:        if(a==0) 
        !             8:                return(0.);
        !             9:        y = 1;
        !            10:        if(a<0) {
        !            11:                y = -y;
        !            12:                a = -a;
        !            13:        }
        !            14:        while(a<1) {
        !            15:                a *= 8;
        !            16:                y /= 2;
        !            17:        }
        !            18:        while(a>1) {
        !            19:                a /= 8;
        !            20:                y *= 2;
        !            21:        }
        !            22:        x = 1;
        !            23:        do {
        !            24:                x1 = x;
        !            25:                x = (2*x1+a/(x1*x1))/3;
        !            26:        } while(fabs(x-x1)>10.e-15);
        !            27:        return(x*y);
        !            28: }

unix.superglobalmegacorp.com

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