Jump to content

Welch's t-test: Difference between revisions

no edit summary
No edit summary
No edit summary
Line 59:
for (size_t x = 0; x < array2_size; x++) {
mean2 += array2[x];
}
if ((mean1 == mean2) && (variance1 == variance2)) {
return 1.0;
}
mean1 /= array1_size;
Line 68 ⟶ 71:
for (size_t x = 0; x < array2_size; x++) {
variance2 += (array2[x]-mean2)*(array2[x]-mean2);
}
if ((mean1 == mean2) && (variance1 == variance2)) {
return 1.0;
}
if ((variance1 == 0.0) && (variance2 == 0.0)) {
Line 93:
sum2 += (pow(h * i,a-1))/(sqrt(1-h * i));
}
return ((h / 6.0) * ((pow(x,a-1))/(sqrt(1-x)) + 4.0 * sum1 + 2.0 * sum2))/denominator(expl(lgammal(a)+lgammal(0.5)-lgammal(a+0.5)));
double denominator;
if ((a + 0.5) > 1755) {
denominator = 1.0;
for (unsigned int n = 1; n < 300000; n++) {
denominator /= (1+ a*0.5/(n*(a+0.5+n)));
}
denominator = (a+0.5)*denominator/(a*0.5);
} else {
denominator = tgammal(a)*1.77245385090551610/tgammal(a+0.5);
}
return ((h / 6.0) * ((pow(x,a-1))/(sqrt(1-x)) + 4.0 * sum1 + 2.0 * sum2))/denominator;
}
//-------------------
Cookies help us deliver our services. By using our services, you agree to our use of cookies.