The R Project SVN R

Rev

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

Rev 18689 Rev 27674
Line 44... Line 44...
44
    if(!R_FINITE(p) || !R_FINITE(n) || !R_FINITE(pr))
44
    if(!R_FINITE(p) || !R_FINITE(n) || !R_FINITE(pr))
45
	ML_ERR_return_NAN;
45
	ML_ERR_return_NAN;
46
    R_Q_P01_check(p);
46
    R_Q_P01_check(p);
47
 
47
 
48
    if(n != floor(n + 0.5)) ML_ERR_return_NAN;
48
    if(n != floor(n + 0.5)) ML_ERR_return_NAN;
49
    if (pr <= 0 || pr >= 1 || n <= 0)
49
    if (pr < 0 || pr > 1 || n < 0)
50
	ML_ERR_return_NAN;
50
	ML_ERR_return_NAN;
51
 
51
 
-
 
52
    if (pr == R_DT_0 || n == 0) return 0.;
52
    if (p == R_DT_0) return 0.;
53
    if (p == R_DT_0) return 0.;
53
    if (p == R_DT_1) return n;
54
    if (p == R_DT_1) return n;
54
 
55
 
55
    q = 1 - pr;
56
    q = 1 - pr;
-
 
57
    if(q == 0.) return n; /* covers the full range of the distribution */
56
    mu = n * pr;
58
    mu = n * pr;
57
    sigma = sqrt(n * pr * q);
59
    sigma = sqrt(n * pr * q);
58
    gamma = (q - pr) / sigma;
60
    gamma = (q - pr) / sigma;
59
 
61
 
60
#ifdef DEBUG_qbinom
62
#ifdef DEBUG_qbinom