The R Project SVN R

Rev

Rev 13047 | Rev 42302 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 13047 Rev 13153
Line 28... Line 28...
28
 
28
 
29
#include "nmath.h"
29
#include "nmath.h"
30
 
30
 
31
double rt(double df)
31
double rt(double df)
32
{
32
{
-
 
33
    double num;
33
    if (ISNAN(df) || df <= 0.0)	ML_ERR_return_NAN;
34
    if (ISNAN(df) || df <= 0.0)	ML_ERR_return_NAN;
34
 
35
 
35
    if(!R_FINITE(df))
36
    if(!R_FINITE(df))
36
	return norm_rand();
37
	return norm_rand();
37
    else
38
    else {
-
 
39
/* Some compilers (including MW6) evaluated this from right to left
38
	return norm_rand() / sqrt(rchisq(df) / df);
40
	return norm_rand() / sqrt(rchisq(df) / df); */
-
 
41
	num = norm_rand();
-
 
42
	return num / sqrt(rchisq(df) / df);
-
 
43
    }
39
}
44
}