From: sinara@... Date: 2002-04-06T20:08:00+09:00 Subject: Re: Fibonacci Number Generators In message "Re: Fibonacci Number Generators" on 02/04/06, "Christoph" writes: |Fib = [0,1] | |def Fib.[](n) | super || ( | for i in length..n do | self[i] = super(i-1)+super(i-2) | end | super) |end That's good! The following is a non-recursive version of **: def **(n) if n == 0 type.new(1, 0) elsif n > 0 z = x = self n -= 1 while (n & 1 != 0 and z *= x; (n >>= 1) != 0) x = x * x end z end end Shin-ichiro HARA