| 991 | } |
| 992 | PG_FUNCTION_INFO_V1( float8arr_dot_svec); |
| 993 | Datum |
| 994 | float8arr_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 | } |
nothing calls this directly
no test coverage detected