Added corrections to re-enable reciprocal test in math_brute_force suite for relaxed math mode (#2221)

fixes #2145

As suggested by @svenvh reciprocal has different precision requirements
than divide. This PR introduces special path for reciprocal for
binar_float_operator to test reciprocal with relaxed math. If this PR
will get approvals, invalidate PR #2162
This commit is contained in:
Marcin Hajder
2025-02-04 17:45:20 +01:00
committed by GitHub
parent cc9e61652f
commit bcfa1f7c26
6 changed files with 146 additions and 51 deletions

View File

@@ -1856,6 +1856,13 @@ double reference_logb(double x)
double reference_relaxed_reciprocal(double x) { return 1.0f / ((float)x); }
long double reference_reciprocall(long double y)
{
double dx = 1.0;
double dy = y;
return dx / dy;
}
double reference_reciprocal(double x) { return 1.0 / x; }
double reference_remainder(double x, double y)
@@ -3740,9 +3747,6 @@ long double reference_nanl(cl_ulong x)
return (long double)u.f;
}
long double reference_reciprocall(long double x) { return 1.0L / x; }
long double reference_remainderl(long double x, long double y)
{
int i;
@@ -5771,4 +5775,4 @@ long double reference_erfcl(long double x) { return erfc(x); }
long double reference_erfl(long double x) { return erf(x); }
double reference_erfc(double x) { return erfc(x); }
double reference_erf(double x) { return erf(x); }
double reference_erf(double x) { return erf(x); }