Пример #1
0
        public void AddCTest_float()
        {
            foreach (int length in new[] { 24, 128 })
            {
                float[] a = new float[length];
                float[] y = new float[length];

                Vectors.Set(length, 0, a, 0);
                Mathematics.AddC(length, a, 0, 1, y, 0);
                Assert.IsTrue(y.All(x => x == 1));

                Vectors.Set(length, float.NegativeInfinity, a, 0);
                Mathematics.AddC(length, a, 0, 1, y, 0);
                Assert.IsTrue(y.All(x => float.IsNegativeInfinity(x)));

                Vectors.Set(length, float.PositiveInfinity, a, 0);
                Mathematics.AddC(length, a, 0, 1, y, 0);
                Assert.IsTrue(y.All(x => float.IsPositiveInfinity(x)));

                Vectors.Set(length, float.MinValue, a, 0);
                Mathematics.AddC(length, a, 0, 1, y, 0);
                Assert.IsTrue(y.All(x => x == float.MinValue));

                Vectors.Set(length, float.MaxValue, a, 0);
                Mathematics.AddC(length, a, 0, 1, y, 0);
                Assert.IsTrue(y.All(x => x == float.MaxValue));

                Vectors.Set(length, float.NaN, a, 0);
                Mathematics.AddC(length, a, 0, 1, y, 0);
                Assert.IsTrue(y.All(x => float.IsNaN(x)));
            }
        }
Пример #2
0
        public void AddCTest_double()
        {
            foreach (int length in new[] { 24, 128 })
            {
                double[] a = new double[length];
                double[] y = new double[length];

                Vectors.Set(length, 0, a, 0);
                Mathematics.AddC(length, a, 0, 1, y, 0);
                Assert.IsTrue(y.All(x => x == 1));

                Vectors.Set(length, double.NegativeInfinity, a, 0);
                Mathematics.AddC(length, a, 0, 1, y, 0);
                Assert.IsTrue(y.All(x => double.IsNegativeInfinity(x)));

                Vectors.Set(length, double.PositiveInfinity, a, 0);
                Mathematics.AddC(length, a, 0, 1, y, 0);
                Assert.IsTrue(y.All(x => double.IsPositiveInfinity(x)));

                Vectors.Set(length, double.MinValue, a, 0);
                Mathematics.AddC(length, a, 0, 1, y, 0);
                Assert.IsTrue(y.All(x => x == double.MinValue));

                Vectors.Set(length, double.MaxValue, a, 0);
                Mathematics.AddC(length, a, 0, 1, y, 0);
                Assert.IsTrue(y.All(x => x == double.MaxValue));

                Vectors.Set(length, double.NaN, a, 0);
                Mathematics.AddC(length, a, 0, 1, y, 0);
                Assert.IsTrue(y.All(x => double.IsNaN(x)));
            }
        }