home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Frostbyte's 1980s DOS Shareware Collection
/
floppyshareware.zip
/
floppyshareware
/
USCX
/
TURBO-11.ZIP
/
TINV.PAS
< prev
next >
Wrap
Pascal/Delphi Source File
|
1985-05-17
|
3KB
|
61 lines
(*--------------------------------------------------------------------------*)
(* Tinv -- Inverse Central t Distribution *)
(*--------------------------------------------------------------------------*)
FUNCTION tinv( Alpha, Df: REAL ) : REAL;
(*--------------------------------------------------------------------------*)
(* *)
(* Function: tinv *)
(* *)
(* Purpose: Calculates central inverse t *)
(* *)
(* Calling Sequence: *)
(* *)
(* tval := tinv( Alpha, Df : REAL ) : REAL; *)
(* *)
(* Alpha --- Probability value *)
(* Df --- Degrees of freedom *)
(* *)
(* tval --- returned t-value corresponding to 'Alpha'. *)
(* *)
(* Calls: *)
(* *)
(* BetaInv (Inverse Beta Distribution) *)
(* *)
(* Remarks: *)
(* *)
(* Any error results in '-1.0' as returned t value. *)
(* *)
(*--------------------------------------------------------------------------*)
CONST
MaxIter = 100;
Dprec = 10;
VAR
tin: REAL;
Iter: INTEGER;
Cprec: REAL;
Ierr: INTEGER;
BEGIN (* tinv *)
tin := -1.0;
IF( Df > 0.0 ) THEN
IF( ( Alpha >= 0.0 ) AND ( Alpha <= 1.0 ) ) THEN
BEGIN
tin := BetaInv( Alpha, 0.5, Df / 2.0, MaxIter, Dprec,
Iter, Cprec, Ierr );
IF( ( tin >= 0.0 ) AND ( tin < 1.0 ) AND ( Ierr = 0 ) ) THEN
tin := SQRT( tin * Df / ( 1.0 - tin ) );
END;
END (* tinv *);