Initial data commit
This commit is contained in:
parent
72d218235f
commit
f23f22d71c
199087 changed files with 3378941 additions and 0 deletions
29
Task/Gamma-function/BASIC256/gamma-function.basic
Normal file
29
Task/Gamma-function/BASIC256/gamma-function.basic
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
print " x Stirling Lanczos"
|
||||
print
|
||||
for i = 1 to 20
|
||||
d = i / 10.0
|
||||
print d;
|
||||
print chr(9); ljust(string(gammaStirling(d)), 13, "0");
|
||||
print chr(9); ljust(string(gammaLanczos(d)), 13, "0")
|
||||
next i
|
||||
end
|
||||
|
||||
function gammaStirling (x)
|
||||
e = exp(1) # e is not predefined in BASIC256
|
||||
return sqr(2.0 * pi / x) * ((x / e) ^ x)
|
||||
end function
|
||||
|
||||
function gammaLanczos (x)
|
||||
dim p = {0.99999999999980993, 676.5203681218851, -1259.1392167224028, 771.32342877765313, -176.61502916214059, 12.507343278686905, -0.13857109526572012, 9.9843695780195716e-6, 1.5056327351493116e-7}
|
||||
|
||||
g = 7
|
||||
if x < 0.5 then return pi / (sin(pi * x) * gammaLanczos(1-x))
|
||||
x -= 1
|
||||
a = p[0]
|
||||
t = x + g + 0.5
|
||||
|
||||
for i = 1 to 8
|
||||
a += p[i] / (x + i)
|
||||
next i
|
||||
return sqr(2.0 * pi) * (t ^ (x + 0.5)) * exp(-t) * a
|
||||
end function
|
||||
Loading…
Add table
Add a link
Reference in a new issue