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))); } }
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))); } }