Gamma function: Difference between revisions
Content deleted Content added
Drkameleon (talk | contribs) added Arturo |
MaiconSoft (talk | contribs) Added Delphi example |
||
Line 1,099: | Line 1,099: | ||
3.000000: 1.9999999999992207405e+00 2.0000000000000015575e+00 2.0000000000000000000e+00 |
3.000000: 1.9999999999992207405e+00 2.0000000000000015575e+00 2.0000000000000000000e+00 |
||
3.333333: 2.7781584802531739378e+00 2.7781584804376666336e+00 2.7781584804376642124e+00</pre> |
3.333333: 2.7781584802531739378e+00 2.7781584804376666336e+00 2.7781584804376642124e+00</pre> |
||
=={{header|Delphi}}== |
|||
{{libheader| System.SysUtils}} |
|||
{{libheader| System.Math}} |
|||
{{Trans|Go}} |
|||
<lang Delphi> |
|||
program Gamma_function; |
|||
{$APPTYPE CONSOLE} |
|||
uses |
|||
System.SysUtils, |
|||
System.Math; |
|||
function lanczos7(z: double): Double; |
|||
begin |
|||
var t := z + 6.5; |
|||
var x := 0.99999999999980993 + 676.5203681218851 / z - 1259.1392167224028 / (z |
|||
+ 1) + 771.32342877765313 / (z + 2) - 176.61502916214059 / (z + 3) + |
|||
12.507343278686905 / (z + 4) - 0.13857109526572012 / (z + 5) + |
|||
9.9843695780195716e-6 / (z + 6) + 1.5056327351493116e-7 / (z + 7); |
|||
Result := Sqrt(2) * Sqrt(pi) * Power(t, z - 0.5) * exp(-t) * x; |
|||
end; |
|||
begin |
|||
var xs: TArray<double> := [-0.5, 0.1, 0.5, 1, 1.5, 2, 3, 10, 140, 170]; |
|||
writeln(' x Lanczos7'); |
|||
for var x in xs do |
|||
writeln(format('%5.1f %24.16g', [x, lanczos7(x)])); |
|||
readln; |
|||
end.</lang> |
|||
{{out}} |
|||
<pre> x Lanczos7 |
|||
-0,5 -3,544907701811089 |
|||
0,1 9,513507698668747 |
|||
0,5 1,772453850905517 |
|||
1,0 1 |
|||
1,5 0,8862269254527583 |
|||
2,0 1 |
|||
3,0 2,000000000000002 |
|||
10,0 362880,0000000007 |
|||
140,0 9,615723196940235E238 |
|||
170,0 4,269068009004271E304</pre> |
|||
=={{header|Elixir}}== |
=={{header|Elixir}}== |