template <numeric_dtype in_type_, numeric_dtype result_type_ = typename in_type_::euclidean_result_t>
status_t euclidean(
in_type_ const *a,
in_type_ const *b,
std::size_t d,
result_type_ *r,
nk_capability_t capabilities = default_capabilities(),
nk_stream_t stream = nullptr) noexcept; template <numeric_dtype in_type_, numeric_dtype result_type_ = typename in_type_::euclidean_result_t, vector_of<in_type_> a_type_, vector_of<in_type_> b_type_>
expected<result_type_> euclidean(
a_type_ const & a,
b_type_ const & b,
nk_capability_t capabilities = default_capabilities()) noexcept; Euclidean distance between two runs of in_type_ with equal dimensions; unexpected_dimensions_k when they differ or either run is strided or ends mid-value.
Parameters
a | in | First vector |
|---|---|---|
b | in | Second vector |
d | in | Counts dimensions, a multiple of the values per byte. |
r | out | Pointer to output distance value |
capabilities | in | Capabilities to pick from, or zero for the C++ template |
stream | in | Null on the CPU, or the stream of the device capabilities describes |