Exemplo n.º 1
0
        public void DistributionSpaceIterator_SingleSequentialTest()
        {
            Console.WriteLine("DistributionSpaceIterator_SingleSequentialTest");

            int dim = 1;

            string [] names = new string [1] {
                "x"
            };
            double [] mins = new double [1] {
                0.00
            };
            double [] maxs = new double [1] {
                100.0
            };
            IBlauSpace    s    = BlauSpace.create(dim, names, mins, maxs);
            double        step = 1.0;
            IDistribution d    = new Distribution_Sequential(s, step);

            SingletonLogger.Instance().DebugLog(typeof(dist_tests), "original distribution: " + d);
            DistributionSpace ds = new DistributionSpace(d);

            int [] steps = new int[ds.ParamSpace.Dimension];

            for (int N = 3; N <= 5; N++)
            {
                for (int i = 0; i < ds.ParamSpace.Dimension; i++)
                {
                    steps[i] = N;
                }

                IDistributionSpaceIterator it = ds.iterator(steps);

                int count   = 0;
                int validCt = 0;
                foreach (IDistribution d2 in it)
                {
                    if (d2.IsValid())
                    {
                        validCt++;
                        SingletonLogger.Instance().DebugLog(typeof(dist_tests), "iterator distribution: " + d2);
                    }
                    count++;
                }
                Assert.AreEqual(1, count);
                SingletonLogger.Instance().InfoLog(typeof(dist_tests), "N=" + N + "  valid distributions: " + validCt + " / total: " + count);
            }
        }
Exemplo n.º 2
0
        public void Distribution_SequentialSerializationTest()
        {
            Console.WriteLine("Distribution_SequentialSerializationTest");

            int dim = 1;

            string [] names = new string [1] {
                "x"
            };
            double [] mins = new double [1] {
                0.00
            };
            double [] maxs = new double [1] {
                100.0
            };
            IBlauSpace s = BlauSpace.create(dim, names, mins, maxs);

            IDistribution d = new Distribution_Sequential(s, 0.1);

            SingletonLogger.Instance().DebugLog(typeof(dist_tests), "distribution: " + d);

            SoapFormatter formatter = new SoapFormatter();

            FileStream fs = new FileStream("seq.xml", FileMode.Create);

            formatter.Serialize(fs, d);
            fs.Close();

            fs = new FileStream("seq.xml", FileMode.Open);
            IDistribution d2 = (IDistribution)formatter.Deserialize(fs);

            fs.Close();

            Assert.AreEqual(d.SampleSpace == d2.SampleSpace, true);
            Assert.AreEqual(d is Distribution_Sequential, true);
            Assert.AreEqual(d2 is Distribution_Sequential, true);

            Distribution_Sequential g1 = (Distribution_Sequential)d;
            Distribution_Sequential g2 = (Distribution_Sequential)d2;

            Assert.AreEqual(g1.Step, g2.Step);
            Assert.AreEqual(g1.Params, g2.Params);
            Assert.AreEqual(g1.SampleSpace, g2.SampleSpace);

            SingletonLogger.Instance().DebugLog(typeof(dist_tests), "All distributions coincide as expected");
        }