X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=gesamt_ppc%2Fcodeb_georg_fib_043.0;fp=gesamt_ppc%2Fcodeb_georg_fib_043.0;h=4db524a74f983f7d379e764c4d8a0b4f94d69ab2;hb=4efb64bb228c31bf3d1701e0f0ec28f2c05ed451;hp=0000000000000000000000000000000000000000;hpb=70aa500ad5f5643fa386027158bf774a8195f604;p=testub10.git diff --git a/gesamt_ppc/codeb_georg_fib_043.0 b/gesamt_ppc/codeb_georg_fib_043.0 new file mode 100644 index 0000000..4db524a --- /dev/null +++ b/gesamt_ppc/codeb_georg_fib_043.0 @@ -0,0 +1,22 @@ +/* fibonacci */ + +/* F_0 = 0 */ +/* F_1 = 1 */ +/* F_n = F_{n-1} + F_{n-2} */ + +struct f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 end; + +method fib(x) + var t := this; + if x < 0 then return -1; end; t.f0 := 0; + if x < 1 then return f0; end; t.f1 := 1; + if x < 2 then return f1; end; t.f2 := t.f0-(0-t.f1); t := t--8; + if x < 3 then return f2; end; t.f2 := t.f0-(0-t.f1); t := t--8; + if x < 4 then return f3; end; t.f2 := t.f0-(0-t.f1); t := t--8; + if x < 5 then return f4; end; t.f2 := t.f0-(0-t.f1); t := t--8; + if x < 6 then return f5; end; t.f2 := t.f0-(0-t.f1); t := t--8; + if x < 7 then return f6; end; t.f2 := t.f0-(0-t.f1); t := t--8; + if x < 8 then return f7; end; t.f2 := t.f0-(0-t.f1); t := t--8; + if x < 9 then return f8; end; t.f2 := t.f0-(0-t.f1); t := t--8; + return f9; +end;