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 30... Line 30...
30
#include "nmath.h"
30
#include "nmath.h"
31
 
31
 
32
double rcauchy(double location, double scale)
32
double rcauchy(double location, double scale)
33
{
33
{
34
    if (ISNAN(location) || !R_FINITE(scale) || scale < 0)
34
    if (ISNAN(location) || !R_FINITE(scale) || scale < 0)
35
	ML_ERR_return_NAN;
35
	ML_WARN_return_NAN;
36
    if (scale == 0. || !R_FINITE(location))
36
    if (scale == 0. || !R_FINITE(location))
37
	return location;
37
	return location;
38
    else
38
    else
39
	return location + scale * tan(M_PI * unif_rand());
39
	return location + scale * tan(M_PI * unif_rand());
40
}
40
}