Exemple #1
0
        public void TestAsinh()
        {
            double d = 0;

            d = MathX.asinh(0);
            Assert.AreEqual(d, 0, "asinh 0");

            d = MathX.asinh(1);
            Assert.AreEqual(0.881373587, d, "asinh 1 ");

            d = MathX.asinh(-1);
            Assert.AreEqual(-0.881373587, d, "asinh -1 ");

            d = MathX.asinh(-100);
            Assert.AreEqual(-5.298342366, d, "asinh -100 ");

            d = MathX.asinh(100);
            Assert.AreEqual(5.298342366, d, "asinh 100 ");

            d = MathX.asinh(200000);
            Assert.AreEqual(12.899219826096400, d, "asinh 200000");

            d = MathX.asinh(-200000);
            Assert.AreEqual(-12.899223853137, d, "asinh -200000 ");
        }
Exemple #2
0
        public void TestSumxmy2()
        {
            double d = 0;

            double[] xarr = null;
            double[] yarr = null;

            xarr = new double[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
            yarr = new double[] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
            d    = MathX.sumxmy2(xarr, yarr);
            Assert.AreEqual(10, d, "sumxmy2 ");

            xarr = new double[] { -1, -2, -3, -4, -5, -6, -7, -8, -9, -10 };
            yarr = new double[] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
            d    = MathX.sumxmy2(xarr, yarr);
            Assert.AreEqual(1330, d, "sumxmy2 ");

            xarr = new double[] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
            yarr = new double[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
            d    = MathX.sumxmy2(xarr, yarr);
            Assert.AreEqual(10, d, "sumxmy2 ");

            xarr = new double[] { 10 };
            yarr = new double[] { 9 };
            d    = MathX.sumxmy2(xarr, yarr);
            Assert.AreEqual(1, d, "sumxmy2 ");

            xarr = new double[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
            yarr = new double[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
            d    = MathX.sumxmy2(xarr, yarr);
            Assert.AreEqual(0, d, "sumxmy2 ");
        }
Exemple #3
0
        public void TestFactorial()
        {
            int    n = 0;
            double s = 0;

            n = 0;
            s = MathX.factorial(n);
            Assert.AreEqual(1, s, "Factorial ");

            n = 1;
            s = MathX.factorial(n);
            Assert.AreEqual(1, s, "Factorial ");

            n = 10;
            s = MathX.factorial(n);
            Assert.AreEqual(3628800, s, "Factorial ");

            n = 99;
            s = MathX.factorial(n);
            Assert.AreEqual(9.33262154439E+155, s, "Factorial ");

            n = -1;
            s = MathX.factorial(n);
            Assert.AreEqual(Double.NaN, s, "Factorial ");

            n = int.MaxValue;
            s = MathX.factorial(n);
            Assert.AreEqual(Double.PositiveInfinity, s, "Factorial ");
        }
Exemple #4
0
        public void TestSum()
        {
            double[] d = new double[100];
            d[0]  = 1.1; d[1] = 2.1; d[2] = 3.1; d[3] = 4.1;
            d[4]  = 5.1; d[5] = 6.1; d[6] = 7.1; d[7] = 8.1;
            d[8]  = 9.1; d[9] = 10.1; d[10] = 11.1; d[11] = 12.1;
            d[12] = 13.1; d[13] = 14.1; d[14] = 15.1; d[15] = 16.1;
            d[16] = 17.1; d[17] = 18.1; d[18] = 19.1; d[19] = 20.1;

            double s = MathX.sum(d);

            Assert.AreEqual(212, s, "Sum ");

            d = new double[1000];
            s = MathX.sum(d);
            Assert.AreEqual(0, s, "Sum ");

            d[0]  = -1.1; d[1] = 2.1; d[2] = -3.1; d[3] = 4.1;
            d[4]  = -5.1; d[5] = 6.1; d[6] = -7.1; d[7] = 8.1;
            d[8]  = -9.1; d[9] = 10.1; d[10] = -11.1; d[11] = 12.1;
            d[12] = -13.1; d[13] = 14.1; d[14] = -15.1; d[15] = 16.1;
            d[16] = -17.1; d[17] = 18.1; d[18] = -19.1; d[19] = 20.1;
            s     = MathX.sum(d);
            Assert.AreEqual(10, s, "Sum ");

            d[0]  = -1.1; d[1] = -2.1; d[2] = -3.1; d[3] = -4.1;
            d[4]  = -5.1; d[5] = -6.1; d[6] = -7.1; d[7] = -8.1;
            d[8]  = -9.1; d[9] = -10.1; d[10] = -11.1; d[11] = -12.1;
            d[12] = -13.1; d[13] = -14.1; d[14] = -15.1; d[15] = -16.1;
            d[16] = -17.1; d[17] = -18.1; d[18] = -19.1; d[19] = -20.1;
            s     = MathX.sum(d);
            Assert.AreEqual(-212, s, "Sum ");
        }
Exemple #5
0
        public void TestSinh()
        {
            double d = 0;

            d = MathX.sinh(0);
            Assert.AreEqual(0, d, "sinh 0");

            d = MathX.sinh(1);
            Assert.AreEqual(1.175201194, d, "sinh 1 ");

            d = MathX.sinh(-1);
            Assert.AreEqual(-1.175201194, d, "sinh -1 ");

            d = MathX.sinh(-100);
            Assert.AreEqual(-1.344058570908070E+43, d, "sinh -100 ");

            d = MathX.sinh(100);
            Assert.AreEqual(1.344058570908070E+43, d, "sinh 100 ");

            d = MathX.sinh(15);
            Assert.AreEqual(1634508.686, d, "sinh 15");

            d = MathX.sinh(-15);
            Assert.AreEqual(-1634508.686, d, "sinh -15 ");

            d = MathX.sinh(0.1);
            Assert.AreEqual(0.10016675, d, "sinh 0.1");

            d = MathX.sinh(-0.1);
            Assert.AreEqual(-0.10016675, d, "sinh -0.1 ");
        }
Exemple #6
0
        public void TestAtanh()
        {
            double d = 0;

            d = MathX.atanh(0);
            Assert.AreEqual(d, 0, "atanh 0");

            d = MathX.atanh(1);
            Assert.AreEqual(Double.PositiveInfinity, d, "atanh 1 ");

            d = MathX.atanh(-1);
            Assert.AreEqual(Double.NegativeInfinity, d, "atanh -1 ");

            d = MathX.atanh(-100);
            Assert.AreEqual(Double.NaN, d, "atanh -100 ");

            d = MathX.atanh(100);
            Assert.AreEqual(Double.NaN, d, "atanh 100 ");

            d = MathX.atanh(200000);
            Assert.AreEqual(Double.NaN, d, "atanh 200000");

            d = MathX.atanh(-200000);
            Assert.AreEqual(Double.NaN, d, "atanh -200000 ");

            d = MathX.atanh(0.1);
            Assert.AreEqual(0.100335348, d, "atanh 0.1");

            d = MathX.atanh(-0.1);
            Assert.AreEqual(-0.100335348, d, "atanh -0.1 ");
        }
        public override VikingState Update()
        {
            if (viking.QueuePosition == 0)
            {
                if (!viking.desireVisualiser.IsShowing)
                {
                    viking.desireVisualiser.ShowNewDesire(viking.Data.desireSeatVisualisation);
                }

                float remappedMood = MathX.RemapClamped(viking.Stats.Mood, viking.Data.impatientMoodThreshold, viking.Stats.StartMood, 0, 1);

                viking.desireVisualiser.SetDesireColor(remappedMood);
                viking.desireVisualiser.SetTweenSpeed(remappedMood);

                viking.Stats.Decline();
            }

            if (viking.Stats.Mood < viking.Data.impatientMoodThreshold)
            {
                if (PlayerManager.Instance != null)
                {
                    return(new BrawlingVikingState(viking, Util.RandomElement(PlayerManager.Instance.Players)));
                }

                return(TakeRandomSeat());
            }

            return(this);
        }
Exemple #8
0
        public void TestCosh()
        {
            double d = 0;

            d = MathX.cosh(0);
            Assert.AreEqual(1, d, "cosh 0");

            d = MathX.cosh(1);
            Assert.AreEqual(1.543080635, d, "cosh 1 ");

            d = MathX.cosh(-1);
            Assert.AreEqual(1.543080635, d, "cosh -1 ");

            d = MathX.cosh(-100);
            Assert.AreEqual(1.344058570908070E+43, d, "cosh -100 ");

            d = MathX.cosh(100);
            Assert.AreEqual(1.344058570908070E+43, d, "cosh 100 ");

            d = MathX.cosh(15);
            Assert.AreEqual(1634508.686, d, "cosh 15");

            d = MathX.cosh(-15);
            Assert.AreEqual(1634508.686, d, "cosh -15 ");

            d = MathX.cosh(0.1);
            Assert.AreEqual(1.005004168, d, "cosh 0.1");

            d = MathX.cosh(-0.1);
            Assert.AreEqual(1.005004168, d, "cosh -0.1 ");
        }
Exemple #9
0
        protected override double SingleNoise(double x, double y)
        {
            int    ix  = MathX.FastFloor(x);
            double fx0 = x - ix;
            double fx1 = fx0 - 1;
            int    jx  = ix & 255;

            int    iy  = MathX.FastFloor(y);
            double fy0 = y - iy;
            double fy1 = fy0 - 1;
            int    jy  = iy & 255;

            var py     = Perm[jy];
            int index  = PermMod12[jx + py];
            int index1 = PermMod12[jx + 1 + py];
            var g0     = Gradients[index];
            var g1     = Gradients[index1];

            double vx0 = g0.x * fx0 + g0.y * fy0;
            double vx1 = g1.x * fx1 + g1.y * fy0;
            double vy0 = vx0 + fx0 * (vx1 - vx0);

            var py1    = Perm[jy + 1];
            int index2 = PermMod12[jx + py1];
            int index3 = PermMod12[jx + 1 + py1];
            var g2     = Gradients[index2];
            var g3     = Gradients[index3];

            vx0 = g2.x * fx0 + g2.y * fy1;
            vx1 = g3.x * fx1 + g3.y * fy1;
            double vy1 = vx0 + fx0 * (vx1 - vx0);

            return(vy0 + fy0 * (vy1 - vy0));
        }
        private void DropCoin()
        {
            Coin coin = Object.Instantiate(viking.coinPrefab, viking.transform.position + new Vector3(0, 2, 0), Quaternion.identity);

            coin.ThrowInDirection(MathX.RandomDirectionInQuarterSphere(-viking.transform.forward, Vector3.up));
            coinsToDrop--;
        }
Exemple #11
0
        static float SCR_DrawFPS(float y)
        {
            var new_y = MathX.FtoiFast(y) + 300;

            // don't use serverTime, because that will be drifting to correct for internet lag changes, timescales, timedemos, etc
            var t         = SysW.Milliseconds;
            var frameTime = t - SCR_DrawFPS_previous;

            SCR_DrawFPS_previous = t;

            SCR_DrawFPS_previousTimes[SCR_DrawFPS_index % FPS_FRAMES] = frameTime;
            SCR_DrawFPS_index++;
            if (SCR_DrawFPS_index > FPS_FRAMES)
            {
                // average multiple frames together to smooth changes out a bit
                var total = 0;
                for (var i = 0; i < FPS_FRAMES; i++)
                {
                    total += SCR_DrawFPS_previousTimes[i];
                }
                if (total == 0)
                {
                    total = 1;
                }
                SCR_DrawFPS_fps = 10000 * FPS_FRAMES / total;
                SCR_DrawFPS_fps = (SCR_DrawFPS_fps + 5) / 10;

                var s = $"{SCR_DrawFPS_fps}fps";
                var w = s.Length * R.SMALLCHAR_WIDTH;

                renderSystem.DrawSmallStringExt((634 / 2) - w, new_y, s, colorWhite, true, localConsole.charSetShader);
            }

            return(y + R.BIGCHAR_HEIGHT + 4);
        }
Exemple #12
0
        public void TestAtanh()
        {
            double d = 0;

            d = MathX.Atanh(0);
            AssertEquals("atanh 0", d, 0);

            d = MathX.Atanh(1);
            AssertEquals("atanh 1 ", Double.PositiveInfinity, d);

            d = MathX.Atanh(-1);
            AssertEquals("atanh -1 ", Double.NegativeInfinity, d);

            d = MathX.Atanh(-100);
            AssertEquals("atanh -100 ", Double.NaN, d);

            d = MathX.Atanh(100);
            AssertEquals("atanh 100 ", Double.NaN, d);

            d = MathX.Atanh(200000);
            AssertEquals("atanh 200000", Double.NaN, d);

            d = MathX.Atanh(-200000);
            AssertEquals("atanh -200000 ", Double.NaN, d);

            d = MathX.Atanh(0.1);
            AssertEquals("atanh 0.1", 0.100335348, d);

            d = MathX.Atanh(-0.1);
            AssertEquals("atanh -0.1 ", -0.100335348, d);
        }
Exemple #13
0
        public void TestTanh()
        {
            double d = 0;

            d = MathX.Tanh(0);
            AssertEquals("tanh 0", 0, d);

            d = MathX.Tanh(1);
            AssertEquals("tanh 1 ", 0.761594156, d);

            d = MathX.Tanh(-1);
            AssertEquals("tanh -1 ", -0.761594156, d);

            d = MathX.Tanh(-100);
            AssertEquals("tanh -100 ", -1, d);

            d = MathX.Tanh(100);
            AssertEquals("tanh 100 ", 1, d);

            d = MathX.Tanh(15);
            AssertEquals("tanh 15", 1, d);

            d = MathX.Tanh(-15);
            AssertEquals("tanh -15 ", -1, d);

            d = MathX.Tanh(0.1);
            AssertEquals("tanh 0.1", 0.099667995, d);

            d = MathX.Tanh(-0.1);
            AssertEquals("tanh -0.1 ", -0.099667995, d);
        }
Exemple #14
0
        public void TestFactorial()
        {
            int    n = 0;
            double s = 0;

            n = 0;
            s = MathX.Factorial(n);
            AssertEquals("Factorial ", 1, s);

            n = 1;
            s = MathX.Factorial(n);
            AssertEquals("Factorial ", 1, s);

            n = 10;
            s = MathX.Factorial(n);
            AssertEquals("Factorial ", 3628800, s);

            n = 99;
            s = MathX.Factorial(n);
            AssertEquals("Factorial ", 9.33262154439E+155, s);

            n = -1;
            s = MathX.Factorial(n);
            AssertEquals("Factorial ", Double.NaN, s);

            n = Int32.MaxValue;
            s = MathX.Factorial(n);
            AssertEquals("Factorial ", Double.PositiveInfinity, s);
        }
Exemple #15
0
        public void TestAsinh()
        {
            double d = 0;

            d = MathX.Asinh(0);
            AssertEquals("asinh 0", d, 0);

            d = MathX.Asinh(1);
            AssertEquals("asinh 1 ", 0.881373587, d);

            d = MathX.Asinh(-1);
            AssertEquals("asinh -1 ", -0.881373587, d);

            d = MathX.Asinh(-100);
            AssertEquals("asinh -100 ", -5.298342366, d);

            d = MathX.Asinh(100);
            AssertEquals("asinh 100 ", 5.298342366, d);

            d = MathX.Asinh(200000);
            AssertEquals("asinh 200000", 12.899219826096400, d);

            d = MathX.Asinh(-200000);
            AssertEquals("asinh -200000 ", -12.899223853137, d);
        }
Exemple #16
0
        public void TestSinh()
        {
            double d = 0;

            d = MathX.Sinh(0);
            AssertEquals("sinh 0", 0, d);

            d = MathX.Sinh(1);
            AssertEquals("sinh 1 ", 1.175201194, d);

            d = MathX.Sinh(-1);
            AssertEquals("sinh -1 ", -1.175201194, d);

            d = MathX.Sinh(-100);
            AssertEquals("sinh -100 ", -1.344058570908070E+43, d);

            d = MathX.Sinh(100);
            AssertEquals("sinh 100 ", 1.344058570908070E+43, d);

            d = MathX.Sinh(15);
            AssertEquals("sinh 15", 1634508.686, d);

            d = MathX.Sinh(-15);
            AssertEquals("sinh -15 ", -1634508.686, d);

            d = MathX.Sinh(0.1);
            AssertEquals("sinh 0.1", 0.10016675, d);

            d = MathX.Sinh(-0.1);
            AssertEquals("sinh -0.1 ", -0.10016675, d);
        }
Exemple #17
0
        public void TestSumsq()
        {
            double[] d = new double[100];
            d[0]  = 1.1; d[1] = 2.1; d[2] = 3.1; d[3] = 4.1;
            d[4]  = 5.1; d[5] = 6.1; d[6] = 7.1; d[7] = 8.1;
            d[8]  = 9.1; d[9] = 10.1; d[10] = 11.1; d[11] = 12.1;
            d[12] = 13.1; d[13] = 14.1; d[14] = 15.1; d[15] = 16.1;
            d[16] = 17.1; d[17] = 18.1; d[18] = 19.1; d[19] = 20.1;

            double s = MathX.Sumsq(d);

            AssertEquals("Sumsq ", 2912.2, s);

            d = new double[1000];
            s = MathX.Sumsq(d);
            AssertEquals("Sumsq ", 0, s);

            d[0]  = -1.1; d[1] = 2.1; d[2] = -3.1; d[3] = 4.1;
            d[4]  = -5.1; d[5] = 6.1; d[6] = -7.1; d[7] = 8.1;
            d[8]  = -9.1; d[9] = 10.1; d[10] = -11.1; d[11] = 12.1;
            d[12] = -13.1; d[13] = 14.1; d[14] = -15.1; d[15] = 16.1;
            d[16] = -17.1; d[17] = 18.1; d[18] = -19.1; d[19] = 20.1;
            s     = MathX.Sumsq(d);
            AssertEquals("Sumsq ", 2912.2, s);

            d[0]  = -1.1; d[1] = -2.1; d[2] = -3.1; d[3] = -4.1;
            d[4]  = -5.1; d[5] = -6.1; d[6] = -7.1; d[7] = -8.1;
            d[8]  = -9.1; d[9] = -10.1; d[10] = -11.1; d[11] = -12.1;
            d[12] = -13.1; d[13] = -14.1; d[14] = -15.1; d[15] = -16.1;
            d[16] = -17.1; d[17] = -18.1; d[18] = -19.1; d[19] = -20.1;
            s     = MathX.Sumsq(d);
            AssertEquals("Sumsq ", 2912.2, s);
        }
Exemple #18
0
        protected override double SingleNoise(double x, double y, double z)
        {
            // Create a unit-length cube aligned along an integer boundary.  This cube
            // surrounds the input point.

            int x0 = Align(x);
            int x1 = x0 + 1;

            int y0 = Align(y);
            int y1 = y0 + 1;

            int z0 = Align(z);
            int z1 = z0 + 1;

            // Map the difference between the coordinates of the input value and the
            // coordinates of the cube's outer-lower-left vertex onto an S-curve.
            double xs = (x - x0);
            double ys = (y - y0);
            double zs = (z - z0);

            // Now calculate the noise values at each vertex of the cube.  To generate
            // the coherent-noise value at the input point, interpolate these eight
            // noise values using the S-curve value as the interpolant (trilinear
            // interpolation.)
            return(MathX.Lerp(
                       Gradient(x, y, z, x0, y0, z0),
                       Gradient(x, y, z, x1, y0, z0),
                       Gradient(x, y, z, x0, y1, z0),
                       Gradient(x, y, z, x1, y1, z0),
                       Gradient(x, y, z, x0, y0, z1),
                       Gradient(x, y, z, x1, y0, z1),
                       Gradient(x, y, z, x0, y1, z1),
                       Gradient(x, y, z, x1, y1, z1),
                       xs, ys, zs));
        }
Exemple #19
0
        public void TestMax()
        {
            double[] d = new double[100];
            d[0]  = 1.1; d[1] = 2.1; d[2] = 3.1; d[3] = 4.1;
            d[4]  = 5.1; d[5] = 6.1; d[6] = 7.1; d[7] = 8.1;
            d[8]  = 9.1; d[9] = 10.1; d[10] = 11.1; d[11] = 12.1;
            d[12] = 13.1; d[13] = 14.1; d[14] = 15.1; d[15] = 16.1;
            d[16] = 17.1; d[17] = 18.1; d[18] = 19.1; d[19] = 20.1;

            double m = MathX.Max(d);

            AssertEquals("Max ", 20.1, m);

            d = new double[1000];
            m = MathX.Max(d);
            AssertEquals("Max ", 0, m);

            d[0]  = -1.1; d[1] = 2.1; d[2] = -3.1; d[3] = 4.1;
            d[4]  = -5.1; d[5] = 6.1; d[6] = -7.1; d[7] = 8.1;
            d[8]  = -9.1; d[9] = 10.1; d[10] = -11.1; d[11] = 12.1;
            d[12] = -13.1; d[13] = 14.1; d[14] = -15.1; d[15] = 16.1;
            d[16] = -17.1; d[17] = 18.1; d[18] = -19.1; d[19] = 20.1;
            m     = MathX.Max(d);
            AssertEquals("Max ", 20.1, m);

            d     = new double[20];
            d[0]  = -1.1; d[1] = -2.1; d[2] = -3.1; d[3] = -4.1;
            d[4]  = -5.1; d[5] = -6.1; d[6] = -7.1; d[7] = -8.1;
            d[8]  = -9.1; d[9] = -10.1; d[10] = -11.1; d[11] = -12.1;
            d[12] = -13.1; d[13] = -14.1; d[14] = -15.1; d[15] = -16.1;
            d[16] = -17.1; d[17] = -18.1; d[18] = -19.1; d[19] = -20.1;
            m     = MathX.Max(d);
            AssertEquals("Max ", -1.1, m);
        }
Exemple #20
0
        public void TestTanh()
        {
            double d = 0;

            d = MathX.tanh(0);
            Assert.AreEqual(0, d, "tanh 0");

            d = MathX.tanh(1);
            Assert.AreEqual(0.761594156, d, "tanh 1 ");

            d = MathX.tanh(-1);
            Assert.AreEqual(-0.761594156, d, "tanh -1 ");

            d = MathX.tanh(-100);
            Assert.AreEqual(-1, d, "tanh -100 ");

            d = MathX.tanh(100);
            Assert.AreEqual(1, d, "tanh 100 ");

            d = MathX.tanh(15);
            Assert.AreEqual(1, d, "tanh 15");

            d = MathX.tanh(-15);
            Assert.AreEqual(-1, d, "tanh -15 ");

            d = MathX.tanh(0.1);
            Assert.AreEqual(0.099667995, d, "tanh 0.1");

            d = MathX.tanh(-0.1);
            Assert.AreEqual(-0.099667995, d, "tanh -0.1 ");
        }
Exemple #21
0
        public void TestCosh()
        {
            double d = 0;

            d = MathX.Cosh(0);
            AssertEquals("cosh 0", 1, d);

            d = MathX.Cosh(1);
            AssertEquals("cosh 1 ", 1.543080635, d);

            d = MathX.Cosh(-1);
            AssertEquals("cosh -1 ", 1.543080635, d);

            d = MathX.Cosh(-100);
            AssertEquals("cosh -100 ", 1.344058570908070E+43, d);

            d = MathX.Cosh(100);
            AssertEquals("cosh 100 ", 1.344058570908070E+43, d);

            d = MathX.Cosh(15);
            AssertEquals("cosh 15", 1634508.686, d);

            d = MathX.Cosh(-15);
            AssertEquals("cosh -15 ", 1634508.686, d);

            d = MathX.Cosh(0.1);
            AssertEquals("cosh 0.1", 1.005004168, d);

            d = MathX.Cosh(-0.1);
            AssertEquals("cosh -0.1 ", 1.005004168, d);
        }
Exemple #22
0
        public List <FactBaseQuery> SoftCombineQueries(params List <FactBaseQuery>[] querypool)
        {
            var nonempty = querypool.Where(i => i.Count > 0);

            var combinedqueries = MathX.CartesianProduct(nonempty);

            var mergedqueries = new List <FactBaseQuery>();

            foreach (var combination in combinedqueries)
            {
                var mergedquery     = new FactBaseQuery();
                var combinationlist = combination.ToList();
                var ix = 0;
                foreach (var fbq in combinationlist)
                {
                    //Merge(fbq, mergedquery);
                    mergedquery.NrOfDictFilters += fbq.NrOfDictFilters;
                    //if (ix == combinationlist.Count - 1)
                    //{
                    //    Merge(fbq, mergedquery);
                    //}
                    FactBaseQuery.Merge(fbq, mergedquery);

                    ix++;
                }
                mergedqueries.Add(mergedquery);
            }
            return(mergedqueries);
        }
Exemple #23
0
        public void ShouldSumRangesWhenDistanceBetweenNumbers(
            float a, float b, float expected
            )
        {
            var distance = MathX.Distance(a, b);

            Assert.AreEqual(expected, distance);
        }
Exemple #24
0
        void Swap()
        {
            var a = 3;
            var b = 5;

            MathX.Swap(ref a, ref b);
            Assert.Equal((5, 3), (a, b));
        }
 public static float Remap(
     this float value,
     float from1,
     float to1,
     float from2,
     float to2
     )
 => MathX.Remap(value, from1, to1, from2, to2);
Exemple #26
0
    protected int CalculateSortingOrder()
    {
        Vector2 gridPosition = snappingCamera.WorldToGrid((positionSource != null ? positionSource : transform).position);
        float   t            = 1 - MathX.Fract(gridPosition.y);
        int     order        = Mathf.FloorToInt(t * (SortingValues - OffsetValues) - (SortingValues - OffsetValues) / 2) + orderOffset;

        return(order);
    }
        public override void OnTransitionProgress(double progress)
        {
            var nextIndex = StartIndex - progress;

            nextIndex = MathX.Clamp(nextIndex, -1, HBS.Search.Callback.MaxPageIndex + 1);

            SwipeDirection      = nextIndex > Shelf.SelectedIndex ? Direction.Right : Direction.Left;
            Shelf.SelectedIndex = nextIndex;
        }
Exemple #28
0
    private IEnumerator CoFadeOutVignette(float duration)
    {
        for (float time = 0; time < duration; time += Time.deltaTime)
        {
            SetVignetteAlpha(MathX.EaseInQuad(vignetteColor.a, 0, time / duration));
            yield return(null);
        }

        canvas.SetActive(false);
    }
Exemple #29
0
    private IEnumerator CoFadeInVignette(float duration)
    {
        canvas.SetActive(true);

        for (float time = 0; time < duration; time += Time.deltaTime)
        {
            SetVignetteAlpha(MathX.EaseOutQuad(0, vignetteColor.a, time / duration));
            yield return(null);
        }
    }
Exemple #30
0
        public void ShouldClampWithoutOrder()
        {
            var numPositive = MathX.ClampWithoutOrder(6f, 2f, -2f);

            Assert.AreEqual(numPositive, 2f);

            var numNegative = MathX.ClampWithoutOrder(-6f, 2f, -2f);

            Assert.AreEqual(numNegative, -2f);
        }