Exemplo n.º 1
0
        public void NextIntUpperBoundTest()
        {
            var maxV    = 10;
            var pcg     = new Pcg(42);
            var lbCount = 0;
            var ubCount = 0;

            for (int i = 0; i < N; i++)
            {
                var aVal = pcg.Next(maxV);
                Assert.That(aVal >= 0);
                Assert.That(aVal < maxV);
                if (aVal == 0)
                {
                    lbCount++;
                }
                if (aVal == maxV - 1)
                {
                    ubCount++;
                }
            }

            Assert.That(lbCount > 0);
            Assert.That(ubCount > 0);
        }
Exemplo n.º 2
0
        public void NextIntIntervalTest()
        {
            var minV    = -20;
            var maxV    = 10;
            var pcg     = new Pcg(42);
            var lbCount = 0;
            var ubCount = 0;

            for (int i = 0; i < N; i++)
            {
                var aVal = pcg.Next(minV, maxV);
                Assert.That(aVal >= minV);
                Assert.That(aVal < maxV);
                if (aVal == minV)
                {
                    lbCount++;
                }
                if (aVal == (maxV - 1))
                {
                    ubCount++;
                }
            }
            Assert.That(lbCount > 0);
            Assert.That(ubCount > 0);
        }
Exemplo n.º 3
0
 public void Initialize()
 {
     _aiConstructor = new HelperAiConstructor();
     _customContext = new CustomContext();
     _optionContext = new OptionContext();
     _rng           = new Pcg();
     CreateConsiderations();
 }
Exemplo n.º 4
0
        public void NextDoubleBoundsTest()
        {
            var pcg = new Pcg(42);

            for (int i = 0; i < N; i++)
            {
                var aVal = pcg.NextDouble();
                Assert.That(aVal <= 1.0);
                Assert.That(aVal >= 0.0);
            }
        }
Exemplo n.º 5
0
        public void NextDoubleUpperBoundTest()
        {
            var maxV = 2.5;
            var pcg  = new Pcg(42);

            for (int i = 0; i < N; i++)
            {
                var aVal = pcg.NextDouble(maxV);
                Assert.That(aVal <= maxV);
                Assert.That(aVal >= 0.0f);
            }
        }
Exemplo n.º 6
0
        public void NextDoubleIntervalTest()
        {
            var minV = -10;
            var maxV = 2.5;
            var pcg  = new Pcg(42);

            for (int i = 0; i < N; i++)
            {
                var aVal = pcg.NextDouble(minV, maxV);
                Assert.That(aVal <= maxV);
                Assert.That(aVal >= minV);
            }
        }
Exemplo n.º 7
0
        public void CorrectnessTest()
        {
            int seed     = 42;
            int sequence = 54;
            var list     = RandomHelpers.ReadPcgOutput(42);

            Assert.AreEqual(10000, list.Count);
            var pcg = new Pcg(seed, sequence);

            for (int i = 0; i < 10000; i++)
            {
                var aVal = pcg.NextUInt();
                var cVal = list[i];
                Assert.That(aVal, Is.EqualTo(cVal));
            }
        }
Exemplo n.º 8
0
        public void NextDoubleMeanTest(float val)
        {
            var minV = -val;
            var maxV = val;
            var pcg  = new Pcg(10);
            var rsum = 0.0;
            var lTol = 0.1 * (maxV - minV);

            for (int i = 0; i < N; i++)
            {
                rsum += pcg.NextDouble(minV, maxV);
            }
            var mean = rsum / N;

            Assert.That(mean, Is.EqualTo(0.0f).Within(lTol));
        }
Exemplo n.º 9
0
        public void CompareToTests(float ev1X1, float ev1X2, float ev2X1, float ev2X2, int expected)
        {
            var rnd    = new Pcg();
            var ev1Y1  = rnd.NextFloat();
            var ev1Y2  = rnd.NextFloat();
            var ev2Y1  = rnd.NextFloat();
            var ev2Y2  = rnd.NextFloat();
            var ev1PtA = new Pointf(ev1X1, ev1Y1);
            var ev1PtB = new Pointf(ev1X2, ev1Y2);
            var ev2PtA = new Pointf(ev2X1, ev2Y1);
            var ev2PtB = new Pointf(ev2X2, ev2Y2);
            var ev1    = new TestEvaluator(ev1PtA, ev1PtB);
            var ev2    = new TestEvaluator(ev2PtA, ev2PtB);

            Assert.That(ev1.CompareTo(ev2), Is.EqualTo(expected));
            Assert.That(ev2.CompareTo(ev1), Is.EqualTo(-expected));
        }
Exemplo n.º 10
0
    void Awake()
    {
        prefab = Resources.Load <GameObject>("Dot");

        tr       = gameObject.transform;
        collider = GetComponent <BoxCollider>();

        range = collider.size;

        sw = new Stopwatch();

        sys = new System.Random();
        mt  = new mt19937_64();
        //well = new Well512();
        pcg = new Pcg();

        Well512.Next();
    }
Exemplo n.º 11
0
        public void SingleParameterULongConstructorTest()
        {
            var rng = new Pcg(11ul);

            Assert.IsNotNull(rng);
        }
Exemplo n.º 12
0
 public void Reinitialise(int seed)
 {
     pcg = new Pcg(seed);
 }
Exemplo n.º 13
0
 public void Initialize()
 {
     _rng = new Pcg();
 }
Exemplo n.º 14
0
 public PcgRandom()
 {
     pcg = new Pcg();
 }
Exemplo n.º 15
0
 public PcgRandom(int seed)
 {
     pcg = new Pcg(seed);
 }
Exemplo n.º 16
0
 /// <summary>
 ///   Returns a random single precision floating point number within the given interval.
 /// </summary>
 /// <param name="this">The this.</param>
 /// <param name="interval">The interval.</param>
 public static float NextFloat(this Pcg @this, Interval <float> interval)
 {
     return(@this.NextFloat(interval.LowerBound, interval.UpperBound));
 }
Exemplo n.º 17
0
 public void Initialize()
 {
     _rng = Pcg.Default;
 }
Exemplo n.º 18
0
        public void TwoParameterULongConstructorTest()
        {
            var rng = new Pcg(42ul, 54ul);

            Assert.IsNotNull(rng);
        }
Exemplo n.º 19
0
        public void TwoParameterIntConstructorTest()
        {
            var rng = new Pcg(42, 54);

            Assert.IsNotNull(rng);
        }
Exemplo n.º 20
0
        public void DefaultConstructorTest()
        {
            var rng = new Pcg();

            Assert.IsNotNull(rng);
        }