The R Project SVN R

Rev

Rev 68947 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 68947 Rev 77685
Line 34... Line 34...
34
#ifdef IEEE_754
34
#ifdef IEEE_754
35
    if (ISNAN(p) || ISNAN(NR) || ISNAN(NB) || ISNAN(n))
35
    if (ISNAN(p) || ISNAN(NR) || ISNAN(NB) || ISNAN(n))
36
	return p + NR + NB + n;
36
	return p + NR + NB + n;
37
#endif
37
#endif
38
    if(!R_FINITE(p) || !R_FINITE(NR) || !R_FINITE(NB) || !R_FINITE(n))
38
    if(!R_FINITE(p) || !R_FINITE(NR) || !R_FINITE(NB) || !R_FINITE(n))
39
	ML_ERR_return_NAN;
39
	ML_WARN_return_NAN;
40
 
40
 
41
    NR = R_forceint(NR);
41
    NR = R_forceint(NR);
42
    NB = R_forceint(NB);
42
    NB = R_forceint(NB);
43
    N = NR + NB;
43
    N = NR + NB;
44
    n = R_forceint(n);
44
    n = R_forceint(n);
45
    if (NR < 0 || NB < 0 || n < 0 || n > N)
45
    if (NR < 0 || NB < 0 || n < 0 || n > N)
46
	ML_ERR_return_NAN;
46
	ML_WARN_return_NAN;
47
 
47
 
48
    /* Goal:  Find  xr (= #{red balls in sample}) such that
48
    /* Goal:  Find  xr (= #{red balls in sample}) such that
49
     *   phyper(xr,  NR,NB, n) >= p > phyper(xr - 1,  NR,NB, n)
49
     *   phyper(xr,  NR,NB, n) >= p > phyper(xr - 1,  NR,NB, n)
50
     */
50
     */
51
 
51