A more thorough test for multinomialProbability.

git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@577 348d0f76-0448-11de-a6fe-93d51630548a
This commit is contained in:
kiran 2009-05-01 06:27:05 +00:00
parent 84dae06d5a
commit 9800d09608
1 changed files with 15 additions and 3 deletions

View File

@ -39,8 +39,20 @@ public class MathUtilsTest extends BaseTest {
public void testMultinomialProbability() {
logger.warn("Executing testMultinomialProbability");
int[] counts = { 10, 20, 30 };
double[] probs = { 0.25, 0.25, 0.50 };
Assert.assertTrue(MathUtils.compareDoubles(MathUtils.multinomialProbability(counts, probs), 0.002870301, 1e-9) == 0);
int[] counts0 = { 2, 0, 1 };
double[] probs0 = { 0.33, 0.33, 0.34 };
Assert.assertTrue(MathUtils.compareDoubles(MathUtils.multinomialProbability(counts0, probs0), 0.111078, 1e-6) == 0);
int[] counts1 = { 10, 20, 30 };
double[] probs1 = { 0.25, 0.25, 0.50 };
Assert.assertTrue(MathUtils.compareDoubles(MathUtils.multinomialProbability(counts1, probs1), 0.002870301, 1e-9) == 0);
int[] counts2 = { 38, 82, 50, 36 };
double[] probs2 = { 0.25, 0.25, 0.25, 0.25 };
Assert.assertTrue(MathUtils.compareDoubles(MathUtils.multinomialProbability(counts2, probs2), 1.88221e-09, 1e-10) == 0);
int[] counts3 = { 1, 600, 1 };
double[] probs3 = { 0.33, 0.33, 0.34 };
Assert.assertTrue(MathUtils.compareDoubles(MathUtils.multinomialProbability(counts3, probs3), 5.20988e-285, 1e-286) == 0);
}
}