DEF TEMP-TABLE ttFibonacci
FIELD seqF AS INT
FIELD valueF AS INT64
INDEX seqF seqF.
DEF BUFFER b_ttFibonacci FOR ttFibonacci.
FUNCTION getValue RETURNS INT64
(piSeq AS INT):
FIND b_ttFibonacci WHERE b_ttFibonacci.seqF = piSeq NO-LOCK NO-ERROR.
RETURN b_ttFibonacci.valueF.
END FUNCTION.
DEF VAR iMax AS INT.
DEF VAR i AS INT.
UPDATE "Max Number (MAX 92): " iMax.
IF iMax > 92 THEN iMax = 92. /* Maximum for Integer 64 */
/* CREATE SEED VALUES */
CREATE ttFibonacci.
ASSIGN ttFibonacci.seqF = 0 ttFibonacci.valueF = 0.
CREATE ttFibonacci.
ASSIGN ttFibonacci.seqF = 1 ttFibonacci.valueF = 1.
DO i = 2 TO iMax:
CREATE ttFibonacci.
ttFibonacci.seqF = i .
ttFibonacci.valueF = getValue(i - 1) + getValue (i - 2).
END.
FOR EACH ttFibonacci NO-LOCK:
DISP ttFibonacci.seqF ttFibonacci.valueF FORMAT '>>>,>>>,>>>,>>>,>>>,>>>,>>>,>>>,>>9'.
END.