diff --git a/math/sqrt_double.cpp b/math/sqrt_double.cpp index ee0c723ef..b8027258d 100644 --- a/math/sqrt_double.cpp +++ b/math/sqrt_double.cpp @@ -1,18 +1,29 @@ #include #include -/* Calculate the square root of any number in O(logn) time, with precision fixed */ +/* Calculate the square root of any +number in O(logn) time, +with precision fixed */ -double Sqrt(double x){ +double Sqrt(double x) +{ double l = 0, r = x; - //Epsilon is the precision. A great precision is between 1e-7 and 1e-12. + /* Epsilon is the precision. + A great precision is + between 1e-7 and 1e-12. double epsilon = 1e-12; - while(l <= r){ + */ + while( l <= r ) + { double mid = (l + r) / 2; - if(mid * mid > x){ + if( mid * mid > x ) + { r = mid; - } else { - if(x - mid * mid < epsilon){ + } + else + { + if( x - mid * mid < epsilon ) + { return mid; } l = mid;