Line |
Branch |
Exec |
Source |
1 |
|
|
// SPDX-FileCopyrightText: 2023 - 2025 Arm Limited and/or its affiliates <open-source-office@arm.com> |
2 |
|
|
// |
3 |
|
|
// SPDX-License-Identifier: Apache-2.0 |
4 |
|
|
|
5 |
|
|
#include "compare_sc.h" |
6 |
|
|
|
7 |
|
|
namespace kleidicv::sme { |
8 |
|
|
|
9 |
|
|
template <typename ScalarType> |
10 |
|
|
KLEIDICV_LOCALLY_STREAMING kleidicv_error_t |
11 |
|
78 |
compare_equal(const ScalarType *src_a, size_t src_a_stride, |
12 |
|
|
const ScalarType *src_b, size_t src_b_stride, ScalarType *dst, |
13 |
|
|
size_t dst_stride, size_t width, size_t height) { |
14 |
|
78 |
return compare_sc<ComparatorEqual<ScalarType>>( |
15 |
|
78 |
src_a, src_a_stride, src_b, src_b_stride, dst, dst_stride, width, height); |
16 |
|
|
} |
17 |
|
|
|
18 |
|
|
template <typename ScalarType> |
19 |
|
|
KLEIDICV_LOCALLY_STREAMING kleidicv_error_t |
20 |
|
78 |
compare_greater(const ScalarType *src_a, size_t src_a_stride, |
21 |
|
|
const ScalarType *src_b, size_t src_b_stride, ScalarType *dst, |
22 |
|
|
size_t dst_stride, size_t width, size_t height) { |
23 |
|
78 |
return compare_sc<ComparatorGreater<ScalarType>>( |
24 |
|
78 |
src_a, src_a_stride, src_b, src_b_stride, dst, dst_stride, width, height); |
25 |
|
|
} |
26 |
|
|
|
27 |
|
|
#define KLEIDICV_INSTANTIATE_TEMPLATE(name, type) \ |
28 |
|
|
template KLEIDICV_TARGET_FN_ATTRS kleidicv_error_t name<type>( \ |
29 |
|
|
const type *src_a, size_t src_a_stride, const type *src_b, \ |
30 |
|
|
size_t src_b_stride, type *dst, size_t dst_stride, size_t width, \ |
31 |
|
|
size_t height) |
32 |
|
|
|
33 |
|
|
KLEIDICV_INSTANTIATE_TEMPLATE(compare_equal, uint8_t); |
34 |
|
|
KLEIDICV_INSTANTIATE_TEMPLATE(compare_greater, uint8_t); |
35 |
|
|
|
36 |
|
|
} // namespace kleidicv::sme |
37 |
|
|
|