#fallingfactorial(m_,n_) := If(m>=0 or m>=n or m==n, gamma(m+1)/gamma(m-n+1), If(m<0, if(n==0.5,i,(-1)^n)*gamma(n-m)/gamma(-m) )); #fallingfactorial(m_,n_) := If(m>=0 or m>=n or m==n, m!/(m-n)!, (-1)^n*(n-m-1)!/(-m-1)! ); fallingfactorial(m_,n_) := if(n==1,m, If(m<= -1 or m-n<= -1,(-1)^n*Gamma(n-m)/Gamma(-m), m!/(m-n)! )); #fallingfactorial(m_,0) :=1; #fallingfactorial(m_,1) :=m; #fallingfactorial(1,n_) :=if(n==1,1, 0);