From 3cb644074406f32fb9a857c849344faf6a3b18ad Mon Sep 17 00:00:00 2001 From: Andrew Kane Date: Sun, 11 Jun 2023 12:54:18 -0700 Subject: [PATCH] Simplified PrintVector [skip ci] --- src/vector.c | 36 ++++++++++++------------------------ 1 file changed, 12 insertions(+), 24 deletions(-) diff --git a/src/vector.c b/src/vector.c index 85acd23..82247e1 100644 --- a/src/vector.c +++ b/src/vector.c @@ -125,30 +125,6 @@ float_overflow_error(void) } #endif -/* - * Print vector - useful for debugging - */ -void -PrintVector(char *msg, Vector * vector) -{ - StringInfoData buf; - int dim = vector->dim; - int i; - - initStringInfo(&buf); - - appendStringInfoChar(&buf, '['); - for (i = 0; i < dim; i++) - { - if (i > 0) - appendStringInfoString(&buf, ","); - appendStringInfoString(&buf, float8out_internal(vector->x[i])); - } - appendStringInfoChar(&buf, ']'); - - elog(INFO, "%s = %s", msg, buf.data); -} - /* * Convert textual representation to internal representation */ @@ -320,6 +296,18 @@ vector_out(PG_FUNCTION_ARGS) PG_RETURN_CSTRING(buf); } +/* + * Print vector - useful for debugging + */ +void +PrintVector(char *msg, Vector * vector) +{ + char *out = DatumGetPointer(DirectFunctionCall1(vector_out, PointerGetDatum(vector))); + + elog(INFO, "%s = %s", msg, out); + pfree(out); +} + /* * Convert type modifier */