Improved Float8ToHalf [skip ci]

This commit is contained in:
Andrew Kane
2023-12-04 13:03:59 -08:00
parent 544e303d74
commit 7620089901

View File

@@ -305,7 +305,15 @@ static half
Float8ToHalf(double num) Float8ToHalf(double num)
{ {
/* TODO Convert directly for greater accuracy */ /* TODO Convert directly for greater accuracy */
return Float4ToHalf((float) num); half result = Float4ToHalfUnchecked((float) num);
/* TODO Perform checks without HalfToFloat4 */
if (unlikely(isinf(HalfToFloat4(result))) && !isinf(num))
float_overflow_error();
if (unlikely(HalfToFloat4(result) == 0.0f) && num != 0.0)
float_underflow_error();
return result;
} }
/* /*