package foo.ndkdemo;
public class SqrtDemo {
public static final double EPSILON = 0.05d;
public static native double sqrtC(double d);
public static double sqrtJava(double d) {
double x0 = 10.0, x1 = d, diff;
do {
x1 = x0 - (((x0 * x0) - d) / (x0 * 2));
diff = x1 - x0;
// Log.d("Java",
// String.format("x0=%12.8f, x1=%12.8f, diff=%12.8f\n",
// x0, x1, diff));
x0 = x1;
} while (Math.abs(diff) > EPSILON);
return x1;
}
}