public static IEnumerable<object[]> Divide_TestData()
{
yield return new object[] { 0, 0, 10, 50 }; // 0 / x = 0
yield return new object[] { 10, 50, double.NaN, double.NaN }; // 0 / x = NaN
yield return new object[] { 10, 50, 0, 0 }; // x / 0 = 0
yield return new object[] { 1, 0, 10, 50 }; // 1 / x = x
yield return new object[] { 10, 50, 1, 0 }; // x / 1 = x
yield return new object[] { 0, 1, 0, 1 }; // i / i = 1
yield return new object[] { 0, 1, 10, 50 }; // i / x
yield return new object[] { 10, 50, 0, 1 }; // x / i
// Boundary values
yield return new object[] { double.MaxValue, double.MaxValue, SmallRandomPositiveDouble(), SmallRandomPositiveDouble() };
yield return new object[] { double.MinValue, double.MinValue, SmallRandomPositiveDouble(), SmallRandomPositiveDouble() };
}