summaryrefslogtreecommitdiff
path: root/src/test/java/com/seaofnodes/simple/spill/Chapter20Test-testNewtonInteger.smp
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/java/com/seaofnodes/simple/spill/Chapter20Test-testNewtonInteger.smp')
-rw-r--r--src/test/java/com/seaofnodes/simple/spill/Chapter20Test-testNewtonInteger.smp10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/test/java/com/seaofnodes/simple/spill/Chapter20Test-testNewtonInteger.smp b/src/test/java/com/seaofnodes/simple/spill/Chapter20Test-testNewtonInteger.smp
new file mode 100644
index 00000000..8912dcd9
--- /dev/null
+++ b/src/test/java/com/seaofnodes/simple/spill/Chapter20Test-testNewtonInteger.smp
@@ -0,0 +1,10 @@
+// Newtons approximation to the square root
+val _sqrt = { int x ->
+ int guess = x;
+ while( 1 ) {
+ int next = (x/guess + guess)/2;
+ if( next == guess ) return guess;
+ guess = next;
+ }
+};
+return _sqrt(arg) + _sqrt(arg+2);