summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/util/lua/test/bisect.lua
diff options
context:
space:
mode:
authorSteven Noonan <steven@uplinklabs.net>2009-10-14 01:05:00 -0700
committerSteven Noonan <steven@uplinklabs.net>2009-10-14 21:33:59 -0700
commit9d51433ef6329e65938c5655586ea915493ba8ac (patch)
treea904d02f87629deaddb5cca83ff205eb836e53ba /crawl-ref/source/util/lua/test/bisect.lua
parent59134ed3b2808e4e48ecc64ed8579b84431af057 (diff)
downloadcrawl-ref-9d51433ef6329e65938c5655586ea915493ba8ac.tar.gz
crawl-ref-9d51433ef6329e65938c5655586ea915493ba8ac.zip
contribs: moved to contribs dir, added as submodules
Signed-off-by: Steven Noonan <steven@uplinklabs.net>
Diffstat (limited to 'crawl-ref/source/util/lua/test/bisect.lua')
-rw-r--r--crawl-ref/source/util/lua/test/bisect.lua27
1 files changed, 0 insertions, 27 deletions
diff --git a/crawl-ref/source/util/lua/test/bisect.lua b/crawl-ref/source/util/lua/test/bisect.lua
deleted file mode 100644
index f91e69bfba..0000000000
--- a/crawl-ref/source/util/lua/test/bisect.lua
+++ /dev/null
@@ -1,27 +0,0 @@
--- bisection method for solving non-linear equations
-
-delta=1e-6 -- tolerance
-
-function bisect(f,a,b,fa,fb)
- local c=(a+b)/2
- io.write(n," c=",c," a=",a," b=",b,"\n")
- if c==a or c==b or math.abs(a-b)<delta then return c,b-a end
- n=n+1
- local fc=f(c)
- if fa*fc<0 then return bisect(f,a,c,fa,fc) else return bisect(f,c,b,fc,fb) end
-end
-
--- find root of f in the inverval [a,b]. needs f(a)*f(b)<0
-function solve(f,a,b)
- n=0
- local z,e=bisect(f,a,b,f(a),f(b))
- io.write(string.format("after %d steps, root is %.17g with error %.1e, f=%.1e\n",n,z,e,f(z)))
-end
-
--- our function
-function f(x)
- return x*x*x-x-1
-end
-
--- find zero in [1,2]
-solve(f,1,2)