Attribute VB_Name = "TDIST" ' Copyright (c) 1997 C. David Eagle Jr. DefInt I-N DefDbl A-H, O-Z Static Sub TDIST(N, X, PROB) ' T-distribution subroutine ' Input ' N = degrees of freedom; N >= 1 ' X = function argument; X > 0 ' Output ' PROB = probability; 0 < PROB <= 1 A = 0.36338023 W = Atn(X / Sqr(N)) S = Sin(W) C = Cos(W) L = N - 2 * Int(N / 2) If (L = 0) Then GoTo L10 T1 = W If (N = 1) Then GoTo L30 T2 = S * C T1 = T1 + T2 If (N = 3) Then GoTo L30 J1 = 0 J2 = 1 K2 = (N - 3) / 2 GoTo L20 L10: T1 = S If (N = 2) Then GoTo L40 T2 = S J1 = -1 J2 = 0 K2 = (N - 2) / 2 L20: For I = 1 To K2 J1 = J1 + 2 J2 = J2 + 2 T2 = T2 * C * C * J1 / J2 T1 = T1 + T2 Next I L30: T1 = T1 * (1# - A * L) L40: PROB = 0.5 * (1# + T1) End Sub