code 41514;
real procedure GAMMAINV(PROB,ALPHA,SCALE);
value PROB,ALPHA,SCALE; real PROB,ALPHA,SCALE;
begin real X,TOL;
TOL:= 10-10;
if ALPHA ≤ 0 then
STATAL3 ERROR(“GAMMAINV”,2,ALPHA) else
if SCALE ≤ 0 then
STATAL3 ERROR(“GAMMAINV”,3,SCALE) else
if PROB ≤ TOL ∨ PROB ≥ 1 - TOL then
STATAL3 ERROR(“GAMMAINV”,1,PROB);
X:= ALPHA × SCALE;
GAMMAINV:= INVERSE(X,GAMMA(X,ALPHA,SCALE),PROB, TOL)
end GAMMAINV;
eop