MCPcopy Create free account
hub / github.com/apache/madlib / float8arr_dot_svec

Function float8arr_dot_svec

methods/svec/src/pg_gp/operators.c:993–1010  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

991}
992PG_FUNCTION_INFO_V1( float8arr_dot_svec);
993Datum
994float8arr_dot_svec(PG_FUNCTION_ARGS)
995{
996 ArrayType *arr = PG_GETARG_ARRAYTYPE_P(0);
997 SvecType *svec = PG_GETARG_SVECTYPE_P(1);
998 SparseData left = sdata_uncompressed_from_float8arr_internal(arr);
999 SparseData right = sdata_from_svec(svec);
1000 SparseData mult_result;
1001 double accum;
1002 mult_result = op_sdata_by_sdata(multiply,left,right);
1003 accum = sum_sdata_values_double(mult_result);
1004 freeSparseData(left);
1005 freeSparseDataAndData(mult_result);
1006
1007 if (IS_NVP(accum)) PG_RETURN_NULL();
1008
1009 PG_RETURN_FLOAT8(accum);
1010}

Callers

nothing calls this directly

Calls 6

sdata_from_svecFunction · 0.85
op_sdata_by_sdataFunction · 0.85
sum_sdata_values_doubleFunction · 0.85
freeSparseDataFunction · 0.85
freeSparseDataAndDataFunction · 0.85

Tested by

no test coverage detected