Accord.Tests.Statistics.Models.Markov.ForwardBackwardAlgorithmTest.LogForwardBackwardGenericTest C# (CSharp) Method

LogForwardBackwardGenericTest() private method

private LogForwardBackwardGenericTest ( ) : void
return void
        public void LogForwardBackwardGenericTest()
        {
            var discreteModel = CreateModel1();
            var genericModel = CreateModel4();

            int[] discreteObservations = { 2, 2, 1, 0 };
            double[][] genericObservations = 
            {
                new double[] { 2 }, new double[] { 2 },
                new double[] { 1 }, new double[] { 0 }
            };

            double discreteFwdLogLikelihood;
            double[,] discreteFwd = ForwardBackwardAlgorithm.LogForward(discreteModel,
                discreteObservations, out discreteFwdLogLikelihood);

            double discreteBwdLogLikelihood;
            double[,] discreteBwd = ForwardBackwardAlgorithm.LogBackward(discreteModel,
                discreteObservations, out discreteBwdLogLikelihood);

            double genericFwdLogLikelihood;
            double[,] genericFwd = ForwardBackwardAlgorithm.LogForward(genericModel,
                genericObservations, out genericFwdLogLikelihood);

            double genericBwdLogLikelihood;
            double[,] genericBwd = ForwardBackwardAlgorithm.LogBackward(genericModel,
                genericObservations, out genericBwdLogLikelihood);

            Assert.AreEqual(discreteFwdLogLikelihood, discreteBwdLogLikelihood);
            Assert.AreEqual(genericFwdLogLikelihood, genericBwdLogLikelihood);
            Assert.AreEqual(discreteFwdLogLikelihood, genericBwdLogLikelihood);

            for (int i = 0; i < discreteFwd.GetLength(0); i++)
            {
                for (int j = 0; j < discreteFwd.GetLength(1); j++)
                {
                    Assert.AreEqual(discreteFwd[i, j], genericFwd[i, j]);
                    Assert.AreEqual(discreteBwd[i, j], genericBwd[i, j]);
                }
            }

        }