mirror of
https://github.com/pgvector/pgvector.git
synced 2026-06-30 09:41:15 +08:00
Improved Float8ToHalf [skip ci]
This commit is contained in:
10
src/half.c
10
src/half.c
@@ -305,7 +305,15 @@ static half
|
||||
Float8ToHalf(double num)
|
||||
{
|
||||
/* 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;
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
Reference in New Issue
Block a user