The R Project SVN R

Rev

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

Rev 83752 Rev 84215
Line 136... Line 136...
136
                       7.868691311456132591e-4) * r + .0148753612908506148525)
136
                       7.868691311456132591e-4) * r + .0148753612908506148525)
137
                     * r + .13692988092273580531) * r +
137
                     * r + .13692988092273580531) * r +
138
                    .59983220655588793769) * r + 1.);
138
                    .59983220655588793769) * r + 1.);
139
        }
139
        }
140
        else { // r > 27: p is *really* close to 0 or 1 .. practically only when log_p =TRUE
140
        else { // r > 27: p is *really* close to 0 or 1 .. practically only when log_p =TRUE
141
	    if(r >= 6.4e8) { // p is *very extremly* close to 0 or 1
141
	    if(r >= 6.4e8) { // p is *very extremely* close to 0 or 1
142
		// Using the asymptotical formula ("0-th order"): qn = sqrt(2*s)
142
		// Using the asymptotical formula ("0-th order"): qn = sqrt(2*s)
143
		val = r * M_SQRT2;
143
		val = r * M_SQRT2;
144
	    } else {
144
	    } else {
145
		double s2 = -ldexp(lp, 1), // = -2*lp = 2s
145
		double s2 = -ldexp(lp, 1), // = -2*lp = 2s
146
		    x2 = s2 - log(M_2PI * s2); // = xs_1
146
		    x2 = s2 - log(M_2PI * s2); // = xs_1