code 41525; real procedure NCFISHER(X,DF1,DF2,DELTA); value X,DF1,DF2,DELTA; real X,DF1,DF2,DELTA; begin integer J; real XX,FAKTOR1,FAKTOR2,EPS,SUM; if DF1 ≤ 0 then STATAL3 ERROR(“NCFISHER”,2,DF1) else if DF2 ≤ 0 then STATAL3 ERROR(“NCFISHER”,3,DF2) else if DELTA < 0 then STATAL3 ERROR(“NCFISHER”,4,DELTA) else if X ≤ 0 then NCFISHER:= 0 else begin XX:= (DF1 × X) / (DF1 × X + DF2); EPS:= 10-12; DF1:= DF1 / 2; DF2:= DF2 / 2; DELTA:= DELTA / 2; FAKTOR1:= 1; FAKTOR2:= SUM:= INCOMPLETE BETA(XX,DF1,DF2,EPS); if DELTA = 0 then goto UIT; J:= 0; for J:= J + 1 while FAKTOR2 > EPS do begin FAKTOR1:= FAKTOR1 × DELTA / J; FAKTOR2:= FAKTOR1 × INCOMPLETE BETA(XX,DF1 + J,DF2,EPS); SUM:= SUM + FAKTOR2 end; UIT: NCFISHER:= EXP(-DELTA) × SUM end end NCFISHER; eop