module sfgamma; % Gamma function procedures and rules for REDUCE.
% Author: Chris Cannam, Sept/Oct '92.
remprop('gamma,'simpfn);
remprop('igamma,'simpfn);
remprop('beta,'simpfn);
remprop('polygamma,'simpfn);
remprop('ibeta,'simpfn);
remprop('zeta,'simpfn);
remprop('pochhammer,'simpfn);
remprop('psi,'simpfn);
create!-package ('(sfgamma sfgamm sfpsi sfigamma),'(contrib specfn));
fluid '(bernoulli!-alist new!*bfs bf!*base sf!-alist !*savefs);
bf!*base := (if new!*bfs then 2 else 10) ;
symbolic smacro procedure sq2bf!*(x);
(if fixp x then i2bf!: x
else ((if car y neq '!:rd!: then retag cdr !*rn2rd y
else retag cdr y) where y = !*a2f x));
symbolic smacro procedure c!:prec!:;
(if new!*bfs then lispeval '!:bprec!: else !:prec!:);
endmodule;
end;