# Gamma(a,x) is incomplete Gamma(a);
# Gamma(n,a,x) is the nth order derivative of Gamma(a,x);
# Gamma(1/2,x_) := -sqrt(pi)*erf(sqrt(x));
# Gamma(1/2,-x_) := -sqrt(pi)*i*erfi(sqrt(x));
# Gamma(0,0) := inf;
# Gamma(0,x_) = -Ei(-x)=En(1,x);


Gamma(0,a_,x_):=Gamma(a,x);
#Gamma(1,a_,y_):= d(Gamma(a,y),x);
#Gamma(-1,a_,x):=x*Gamma(a,x)-Gamma(a+1,x);

Gamma(a_,0):= Gamma(a);
Gamma(a_,inf):= 0;
Gamma(0,x_) := -Ei(-x);
Gamma(1,x_):= exp(-x);

Gamma(-1/2):= -2*sqrt(pi);
Gamma(1/2):= sqrt(pi);
Gamma(3/2):= sqrt(pi)/2;
Gamma(5/2):= 3/4*sqrt(pi);
Gamma(zero):= infinity;
Gamma(-zero):= -infinity;