Advertisement
Guest User

Recursive sqrt

a guest
May 6th, 2015
209
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Scala 0.60 KB | None | 0 0
  1. def  SQRT(number : Double) : Double = {
  2.  
  3.     val precisionRange : Int = 1000000
  4.     @tailrec
  5.     def innerSQRT (num : Double, start : Double, end : Double) : Double = {
  6.       val mid : Double = (start+end)/2;
  7.  
  8.       if (Math.abs(mid*mid - num) <= 1.0/precisionRange)
  9.         mid;
  10.       else
  11.         if (mid*mid - num > 0)
  12.           innerSQRT(num,start,mid);
  13.         else
  14.           innerSQRT(num,mid, end);
  15.     } // end of innerSQRT
  16.  
  17.     var sqrt : Double = innerSQRT(number, 0, number);
  18.     val g : Double = precisionRange * sqrt;
  19.  
  20.     val answer : Double = g.toInt / d.toDouble;
  21.  
  22.     answer
  23.   }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement