copysign.txt 7.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. # dmath_copysign
  2. # Independent oracle: Decimal at 430 and 570 digits / exact Fraction arithmetic.
  3. # Frozen bits and sweep require review; generation never recalibrates them.
  4. # Nonfinite outputs: nan checks classification; +/-inf checks classification and sign.
  5. # sweep 4a74d6be7e486ed6
  6. # case input0 input1 frozen0 frozen1 reference0 reference1 max_ulp
  7. positive_zero_positive_sign 0000000000000000 3ae0000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0 # x=0x0.0p+0 y=0x1.0000000000000p-81
  8. positive_zero_negative_sign 0000000000000000 c500000000000000 8000000000000000 0000000000000000 8000000000000000 0000000000000000 0 # x=0x0.0p+0 y=-0x1.0000000000000p+81
  9. negative_zero_positive_sign 8000000000000000 3ae0000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0 # x=-0x0.0p+0 y=0x1.0000000000000p-81
  10. negative_zero_negative_sign 8000000000000000 c500000000000000 8000000000000000 0000000000000000 8000000000000000 0000000000000000 0 # x=-0x0.0p+0 y=-0x1.0000000000000p+81
  11. least_subnormal_positive_sign 0000000000000001 3ae0000000000000 0000000000000001 0000000000000000 0000000000000001 0000000000000000 0 # x=0x0.0000000000001p-1022 y=0x1.0000000000000p-81
  12. least_subnormal_negative_sign 0000000000000001 c500000000000000 8000000000000001 0000000000000000 8000000000000001 0000000000000000 0 # x=0x0.0000000000001p-1022 y=-0x1.0000000000000p+81
  13. negative_least_subnormal_positive_sign 8000000000000001 3ae0000000000000 0000000000000001 0000000000000000 0000000000000001 0000000000000000 0 # x=-0x0.0000000000001p-1022 y=0x1.0000000000000p-81
  14. negative_least_subnormal_negative_sign 8000000000000001 c500000000000000 8000000000000001 0000000000000000 8000000000000001 0000000000000000 0 # x=-0x0.0000000000001p-1022 y=-0x1.0000000000000p+81
  15. third_subnormal_positive_sign 0000000000000003 3ae0000000000000 0000000000000003 0000000000000000 0000000000000003 0000000000000000 0 # x=0x0.0000000000003p-1022 y=0x1.0000000000000p-81
  16. third_subnormal_negative_sign 0000000000000003 c500000000000000 8000000000000003 0000000000000000 8000000000000003 0000000000000000 0 # x=0x0.0000000000003p-1022 y=-0x1.0000000000000p+81
  17. negative_third_subnormal_positive_sign 8000000000000003 3ae0000000000000 0000000000000003 0000000000000000 0000000000000003 0000000000000000 0 # x=-0x0.0000000000003p-1022 y=0x1.0000000000000p-81
  18. negative_third_subnormal_negative_sign 8000000000000003 c500000000000000 8000000000000003 0000000000000000 8000000000000003 0000000000000000 0 # x=-0x0.0000000000003p-1022 y=-0x1.0000000000000p+81
  19. largest_subnormal_positive_sign 000fffffffffffff 3ae0000000000000 000fffffffffffff 0000000000000000 000fffffffffffff 0000000000000000 0 # x=0x0.fffffffffffffp-1022 y=0x1.0000000000000p-81
  20. largest_subnormal_negative_sign 000fffffffffffff c500000000000000 800fffffffffffff 0000000000000000 800fffffffffffff 0000000000000000 0 # x=0x0.fffffffffffffp-1022 y=-0x1.0000000000000p+81
  21. negative_largest_subnormal_positive_sign 800fffffffffffff 3ae0000000000000 000fffffffffffff 0000000000000000 000fffffffffffff 0000000000000000 0 # x=-0x0.fffffffffffffp-1022 y=0x1.0000000000000p-81
  22. negative_largest_subnormal_negative_sign 800fffffffffffff c500000000000000 800fffffffffffff 0000000000000000 800fffffffffffff 0000000000000000 0 # x=-0x0.fffffffffffffp-1022 y=-0x1.0000000000000p+81
  23. least_normal_positive_sign 0010000000000000 3ae0000000000000 0010000000000000 0000000000000000 0010000000000000 0000000000000000 0 # x=0x1.0000000000000p-1022 y=0x1.0000000000000p-81
  24. least_normal_negative_sign 0010000000000000 c500000000000000 8010000000000000 0000000000000000 8010000000000000 0000000000000000 0 # x=0x1.0000000000000p-1022 y=-0x1.0000000000000p+81
  25. negative_least_normal_positive_sign 8010000000000000 3ae0000000000000 0010000000000000 0000000000000000 0010000000000000 0000000000000000 0 # x=-0x1.0000000000000p-1022 y=0x1.0000000000000p-81
  26. negative_least_normal_negative_sign 8010000000000000 c500000000000000 8010000000000000 0000000000000000 8010000000000000 0000000000000000 0 # x=-0x1.0000000000000p-1022 y=-0x1.0000000000000p+81
  27. largest_finite_positive_sign 7fefffffffffffff 3ae0000000000000 7fefffffffffffff 0000000000000000 7fefffffffffffff 0000000000000000 0 # x=0x1.fffffffffffffp+1023 y=0x1.0000000000000p-81
  28. largest_finite_negative_sign 7fefffffffffffff c500000000000000 ffefffffffffffff 0000000000000000 ffefffffffffffff 0000000000000000 0 # x=0x1.fffffffffffffp+1023 y=-0x1.0000000000000p+81
  29. negative_largest_finite_positive_sign ffefffffffffffff 3ae0000000000000 7fefffffffffffff 0000000000000000 7fefffffffffffff 0000000000000000 0 # x=-0x1.fffffffffffffp+1023 y=0x1.0000000000000p-81
  30. negative_largest_finite_negative_sign ffefffffffffffff c500000000000000 ffefffffffffffff 0000000000000000 ffefffffffffffff 0000000000000000 0 # x=-0x1.fffffffffffffp+1023 y=-0x1.0000000000000p+81
  31. positive_infinity_positive_sign 7ff0000000000000 3ae0000000000000 +inf 0000000000000000 +inf 0000000000000000 0 # x=inf y=0x1.0000000000000p-81
  32. positive_infinity_negative_sign 7ff0000000000000 c500000000000000 -inf 0000000000000000 -inf 0000000000000000 0 # x=inf y=-0x1.0000000000000p+81
  33. negative_infinity_positive_sign fff0000000000000 3ae0000000000000 +inf 0000000000000000 +inf 0000000000000000 0 # x=-inf y=0x1.0000000000000p-81
  34. negative_infinity_negative_sign fff0000000000000 c500000000000000 -inf 0000000000000000 -inf 0000000000000000 0 # x=-inf y=-0x1.0000000000000p+81
  35. quiet_nan_payload_positive_sign 7ff8abcdef135790 3ae0000000000000 nan 0000000000000000 nan 0000000000000000 0 # x=nan y=0x1.0000000000000p-81
  36. quiet_nan_payload_negative_sign 7ff8abcdef135790 c500000000000000 nan 0000000000000000 nan 0000000000000000 0 # x=nan y=-0x1.0000000000000p+81
  37. negative_quiet_nan_payload_positive_sign fff8abcdef135790 3ae0000000000000 nan 0000000000000000 nan 0000000000000000 0 # x=nan y=0x1.0000000000000p-81
  38. negative_quiet_nan_payload_negative_sign fff8abcdef135790 c500000000000000 nan 0000000000000000 nan 0000000000000000 0 # x=nan y=-0x1.0000000000000p+81
  39. signaling_nan_payload_positive_sign 7ff0000000010248 3ae0000000000000 nan 0000000000000000 nan 0000000000000000 0 # x=nan y=0x1.0000000000000p-81
  40. signaling_nan_payload_negative_sign 7ff0000000010248 c500000000000000 nan 0000000000000000 nan 0000000000000000 0 # x=nan y=-0x1.0000000000000p+81
  41. negative_signaling_nan_payload_positive_sign fff0000000010248 3ae0000000000000 nan 0000000000000000 nan 0000000000000000 0 # x=nan y=0x1.0000000000000p-81
  42. negative_signaling_nan_payload_negative_sign fff0000000010248 c500000000000000 nan 0000000000000000 nan 0000000000000000 0 # x=nan y=-0x1.0000000000000p+81
  43. ordinary_positive_sign 405b380000000000 3ae0000000000000 405b380000000000 0000000000000000 405b380000000000 0000000000000000 0 # x=0x1.b380000000000p+6 y=0x1.0000000000000p-81
  44. ordinary_negative_sign 405b380000000000 c500000000000000 c05b380000000000 0000000000000000 c05b380000000000 0000000000000000 0 # x=0x1.b380000000000p+6 y=-0x1.0000000000000p+81
  45. sign_from_negative_nan 401e800000000000 fff0000000010248 c01e800000000000 0000000000000000 c01e800000000000 0000000000000000 0 # x=0x1.e800000000000p+2 y=nan
  46. sign_from_negative_zero 401e800000000000 8000000000000000 c01e800000000000 0000000000000000 c01e800000000000 0000000000000000 0 # x=0x1.e800000000000p+2 y=-0x0.0p+0
  47. sign_from_positive_nan c01e800000000000 7ff8abcdef135790 401e800000000000 0000000000000000 401e800000000000 0000000000000000 0 # x=-0x1.e800000000000p+2 y=nan