KleidiCV Coverage Report


Directory: ./
File: kleidicv/src/arithmetics/multiply_sve2.cpp
Date: 2025-11-25 17:23:32
Exec Total Coverage
Lines: 3 3 100.0%
Functions: 5 5 100.0%
Branches: 0 0 -%

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 "multiply_sc.h"
6
7 namespace kleidicv::sve2 {
8
9 template <typename T>
10 359 KLEIDICV_TARGET_FN_ATTRS kleidicv_error_t saturating_multiply(
11 const T *src_a, size_t src_a_stride, const T *src_b, size_t src_b_stride,
12 T *dst, size_t dst_stride, size_t width, size_t height, double scale) {
13 718 return saturating_multiply_sc<T>(src_a, src_a_stride, src_b, src_b_stride,
14 359 dst, dst_stride, width, height, scale);
15 }
16
17 #define KLEIDICV_INSTANTIATE_TEMPLATE(type) \
18 template KLEIDICV_TARGET_FN_ATTRS kleidicv_error_t \
19 saturating_multiply<type>(const type *src_a, size_t src_a_stride, \
20 const type *src_b, size_t src_b_stride, type *dst, \
21 size_t dst_stride, size_t width, size_t height, \
22 double scale)
23
24 KLEIDICV_INSTANTIATE_TEMPLATE(uint8_t);
25 KLEIDICV_INSTANTIATE_TEMPLATE(int8_t);
26 KLEIDICV_INSTANTIATE_TEMPLATE(uint16_t);
27 KLEIDICV_INSTANTIATE_TEMPLATE(int16_t);
28 KLEIDICV_INSTANTIATE_TEMPLATE(int32_t);
29
30 } // namespace kleidicv::sve2
31