100 DECLARE EXTERNAL FUNCTION FNlngamma 110 120 DEF FNgamma(z) = EXP(FNlngamma(z)) 130 140 FOR x = 0.1 TO 2.05 STEP 0.1 150 PRINT USING$("#.#",x), USING$("##.############", FNgamma(x)) 160 NEXT x 170 END 180 190 EXTERNAL FUNCTION FNlngamma(z) 200 DIM lz(0 TO 6) 210 RESTORE 220 MAT READ lz 230 DATA 1.000000000190015, 76.18009172947146, -86.50532032941677, 24.01409824083091, -1.231739572450155, 0.0012086509738662, -0.000005395239385 240 IF z < 0.5 THEN 250 LET FNlngamma = LOG(PI / SIN(PI * z)) - FNlngamma(1.0 - z) 260 EXIT FUNCTION 270 END IF 280 LET z = z - 1.0 290 LET b = z + 5.5 300 LET a = lz(0) 310 FOR i = 1 TO 6 320 LET a = a + lz(i) / (z + i) 330 NEXT i 340 LET FNlngamma = (LOG(SQR(2*PI)) + LOG(a) - b) + LOG(b) * (z+0.5) 350 END FUNCTION