X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fmath%2Fcorrelation.c;h=47762747340974f815207389fb48b71a59bf3605;hb=67d1e36f29bc59dc38ebe7b197a4c40751ad92fa;hp=303b48bcfaccb89098fabaa426f628d50323a2a3;hpb=50ac6802fc247814dc4dd6232f6304b928a2d78b;p=pspp-builds.git diff --git a/src/math/correlation.c b/src/math/correlation.c index 303b48bc..47762747 100644 --- a/src/math/correlation.c +++ b/src/math/correlation.c @@ -29,7 +29,12 @@ double significance_of_correlation (double rho, double w) { double t = w - 2; + + /* |rho| will mathematically always be in the range [0, 1.0]. Inaccurate + calculations sometimes cause it to be slightly greater than 1.0, so + force it into the correct range to avoid NaN from sqrt(). */ t /= 1 - MIN (1, pow2 (rho)); + t = sqrt (t); t *= rho;