写了个求double 的sqrx,求指教有没有什么问题
public double sqrt(double x, double proximity) {
if (x == 0) return 0;
double l = 0;
double r = x;
while (l + proximity < r) {
double mid = l + (r - l) / 2;
if (mid == l || mid == r || mid * mid == x) return mid;
if (mid * mid < x) {
l = mid;
}
else {
r = mid;
}
}
if (r * r <= x) return r;
return l;
}