Kahan summation: Difference between revisions

Content added Content deleted
Line 1,099: Line 1,099:


println("Epsilon is $ep")
println("Epsilon is $ep")
println("(a + ep) + b = ", (a + ep) + b)
println("(a + ep) + -ep = ", (a + ep) + b)
println("Kahan sum is ", kahansum(v))
println("Kahan sum is ", kahansum(v))
println("BigFloat sum is ", (BigFloat(a) + ep) + b)
println("BigFloat sum is ", (BigFloat(a) + ep) + b)
Line 1,105: Line 1,105:
<pre>
<pre>
Epsilon is 1.1102230246251565e-16
Epsilon is 1.1102230246251565e-16
(a + ep) + b = 0.9999999999999999
(a + ep) + -ep = 0.9999999999999999
Kahan sum is 1.0
Kahan sum is 1.0
BigFloat sum is 1.0
BigFloat sum is 1.0