Exemplo n.º 1
0
        public void HalfGaussianTest(double psuedoMean, double stdDev, bool positive)
        {
            double total = 0;
            double sample;

            for (int i = 0; i < numSamples; i++)
            {
                sample = Probability.HalfGaussian(psuedoMean, stdDev, positive);
                if (positive)
                {
                    Assert.IsTrue(sample >= psuedoMean);
                }
                else
                {
                    Assert.IsTrue(sample <= psuedoMean);
                }
                total += sample;
            }
            double average        = total / ((double)numSamples);
            double expectedMean   = Numerical.BooleanAdd(psuedoMean, stdDev * (Math.Sqrt(2) / Math.Sqrt(Math.PI)), positive);
            double expectedStdDev = stdDev * Math.Sqrt(1 - (2 / Math.PI));
            double maxDeviation   = 10 * (expectedStdDev / Math.Sqrt(numSamples));

            Assert.AreEqual(expectedMean, average, maxDeviation);
        }
Exemplo n.º 2
0
        public void BooleanAddTest(double a, double b, bool add, double expectedResult)
        {
            double result = Numerical.BooleanAdd(a, b, add);

            Assert.AreEqual(expectedResult, result, 0.001);
        }