#!/usr/bin/perl -w

use Math::Gsl::Sf qw(:Gamma);
use strict;
$|++;

my $sf = new Math::Gsl::Sf;
my $r = new Math::Gsl::Sf::Result;

# 1 and 3 way same speed, 2 is very slow, 4 very fast
# Look at doc/bench to see benchmark

print "1: Gamma(5): " . Math::Gsl::Sf::gamma( 5 ) . "\n";
print "2: Gamma(5): " . $sf->gamma(5) . "\n";
print "3: Gamma(5): " . gamma(5) . "\n";
print "4: Gamma(5): " . Math::Gsl::Sf::sf_gamma(5) . "\n";
for( 1 .. 15 ) {
	print "Gamma($_) =" . $sf->gamma($_) . "\n";
}

my $status = $sf->gamma_e( 5 , $r );
print "5: Gamma(5): " . $r->val . ",". $r->err ." $status \n";


$status = Math::Gsl::Sf::gamma_e(5, $r);
print "6: Gamma(5): " . $r->val . ",". $r->err ." $status \n";

