/branches/V0.68d Code Redesign killagreg/mymath.c |
---|
77,3 → 77,23 |
else return (angle - 180); // ( (x < 0) && (y < 0)) 3rd quadrant |
} |
// integer square root |
uint32_t c_sqrt(uint32_t number) |
{ |
uint32_t s1, s2; |
uint8_t iter = 0; |
// initialization of iteration |
s2 = number; |
do // iterative formula to solve x^2 - n = 0 |
{ |
s1 = s2; |
s2 = number / s1; |
s2 += s1; |
s2 /= 2; |
iter++; |
//if(iter > 40) break; |
}while( ( (s1-s2) > 1) && (iter < 40)); |
return s2; |
} |