pgvector.git / summary / log / commit / refs
commit 8d31b8793395e204e00a13de40b1fb05a5289cc7
Author: Andrew Kane <andrew@ankane.org>
Date: Fri Aug 14 05:12:04 2026 +0000
Improved casting [skip ci]
src/sparsevec.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/src/sparsevec.c b/src/sparsevec.c
index be55fbec..be5b1195 100644
--- a/src/sparsevec.c
+++ b/src/sparsevec.c
@@ -724,20 +724,20 @@ array_to_sparsevec(PG_FUNCTION_ARGS)
#ifdef _MSC_VER
/* /fp:fast may not propagate +/-Infinity or NaN */
-#define IS_NOT_ZERO(v) (isnan((float) (v)) || isinf((float) (v)) || ((float) (v)) != 0)
+#define IS_NOT_ZERO(v) (isnan(v) || isinf(v) || (v) != 0.0f)
#else
-#define IS_NOT_ZERO(v) (((float) (v)) != 0)
+#define IS_NOT_ZERO(v) ((v) != 0.0f)
#endif
if (ARR_ELEMTYPE(array) == INT4OID)
{
for (int i = 0; i < nelemsp; i++)
- nnz += IS_NOT_ZERO(DatumGetInt32(elemsp[i]));
+ nnz += IS_NOT_ZERO((float) DatumGetInt32(elemsp[i]));
}
else if (ARR_ELEMTYPE(array) == FLOAT8OID)
{
for (int i = 0; i < nelemsp; i++)
- nnz += IS_NOT_ZERO(DatumGetFloat8(elemsp[i]));
+ nnz += IS_NOT_ZERO((float) DatumGetFloat8(elemsp[i]));
}
else if (ARR_ELEMTYPE(array) == FLOAT4OID)
{
[parent: a0b8e5df188c]