public static IEnumerable<object[]> Tanh_Advanced_TestData()
{
// Boundary values
yield return new object[] { double.MinValue, 0, double.NaN, double.NaN };
yield return new object[] { 0, double.MaxValue, 0, Math.Sin(double.MaxValue) / Math.Cos(double.MaxValue) };
yield return new object[] { 0, double.MinValue, 0, Math.Sin(double.MinValue) / Math.Cos(double.MinValue) };
// Invalid values
foreach (double invalidReal in s_invalidDoubleValues)
{
yield return new object[] { invalidReal, 1, double.NaN, double.NaN }; // Invalid real
foreach (double invalidImaginary in s_invalidDoubleValues)
{
yield return new object[] { 1, invalidImaginary, double.NaN, double.NaN }; // Invalid imaginary
yield return new object[] { invalidReal, invalidImaginary, double.NaN, double.NaN }; // Invalid real, invalid imaginary
}
}
}