| 972 | } |
| 973 | PG_FUNCTION_INFO_V1( svec_dot_float8arr ); |
| 974 | Datum |
| 975 | svec_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 | } |
| 992 | PG_FUNCTION_INFO_V1( float8arr_dot_svec); |
| 993 | Datum |
| 994 | float8arr_dot_svec(PG_FUNCTION_ARGS) |
nothing calls this directly
no test coverage detected