Jump to content

Gamma function: Difference between revisions

no edit summary
(Added solution for Free Pascal (Lazarus))
No edit summary
Line 4,586:
2.0 1.000000000000000
</pre>
 
=={{header|Vlang}}==
{{trans|go}}
<lang vlang>import math
fn main() {
println(" x math.Gamma Lanczos7")
for x in [-.5, .1, .5, 1, 1.5, 2, 3, 10, 140, 170] {
println("${x:5.1f} ${math.gamma(x):24.16} ${lanczos7(x):24.16}")
}
}
fn lanczos7(z f64) f64 {
t := z + 6.5
x := .99999999999980993 +
676.5203681218851/z -
1259.1392167224028/(z+1) +
771.32342877765313/(z+2) -
176.61502916214059/(z+3) +
12.507343278686905/(z+4) -
.13857109526572012/(z+5) +
9.9843695780195716e-6/(z+6) +
1.5056327351493116e-7/(z+7)
return math.sqrt2 * math.sqrt_pi * math.pow(t, z-.5) * math.exp(-t) * x
}</lang>
{{out}}
<pre> x math.Gamma Lanczos7
-0.5 -3.544907701811032 -3.544907701811087
0.1 9.513507698668732 9.513507698668752
0.5 1.772453850905516 1.772453850905517
1.0 1 1
1.5 0.8862269254527579 0.8862269254527587
2.0 1 1
3.0 2 2
10.0 362880 362880.0000000015
140.0 9.61572319694107e+238 9.615723196940201e+238
170.0 4.269068009004746e+304 +Inf</pre>
 
=={{header|Wren}}==
338

edits

Cookies help us deliver our services. By using our services, you agree to our use of cookies.