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]