Versions Compared


  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3

This example


shows how to generate the "golden ratio" to 28 digits of precision using the decimal datatype and a Fibonacci Sequence generator function


No Format
// shows use of infinite fibonacci sequence with decimal datatype to generate golden ratio to 28 digits

def fib():
	a as decimal = 0; b as decimal = 1
	while true:
		yield b
		a, b = b, a + b

i = 0
diff as decimal = 10.0**-28
lastf as decimal = 1
ratio as decimal = 0
for f in fib():
	// print "$i $f $(f/lastf) $ratio $(f/lastf - ratio)"
	break if ++i > 2 and System.Math.Abs(f/lastf - ratio) < diff
	ratio, lastf = f/lastf, f

print "error factor less than $diff on $(i)th iteration"
print "golden ratio = $ratio"


No Format
error factor less than 0.0000000000000000000000000001 on 72th iteration
golden ratio = 1.6180339887498948482045868344