summaryrefslogtreecommitdiff
path: root/minix/lib/libsys/sqrt_approx.c
blob: 07eeaec4f9517cbfea1284ff1fe2ac6c6c0f5012 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <minix/sysutil.h>

u32_t sqrt_approx(u32_t in)
{
        int b, v = 0;
        for(b = (sizeof(in)*8)/2-1; b >= 0; b--) {
                u32_t n = v | (1UL << b);
                if(n*n <= in)
                        v = n;
        }

        return v;
}