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}}==