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

Function svec_dot_float8arr

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

Source from the content-addressed store, hash-verified

972}
973PG_FUNCTION_INFO_V1( svec_dot_float8arr );
974Datum
975svec_dot_float8arr(PG_FUNCTION_ARGS)
976{
977 SvecType *svec = PG_GETARG_SVECTYPE_P(0);
978 ArrayType *arr = PG_GETARG_ARRAYTYPE_P(1);
979 SparseData right = sdata_uncompressed_from_float8arr_internal(arr);
980 SparseData left = sdata_from_svec(svec);
981 SparseData mult_result;
982 double accum;
983 mult_result = op_sdata_by_sdata(multiply,left,right);
984 accum = sum_sdata_values_double(mult_result);
985 freeSparseData(right);
986 freeSparseDataAndData(mult_result);
987
988 if (IS_NVP(accum)) PG_RETURN_NULL();
989
990 PG_RETURN_FLOAT8(accum);
991}
992PG_FUNCTION_INFO_V1( float8arr_dot_svec);
993Datum
994float8arr_dot_svec(PG_FUNCTION_ARGS)

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