KleidiCV Coverage Report


Directory: ./
File: kleidicv/src/arithmetics/add_sme.cpp
Date: 2025-09-25 14:13:34
Exec Total Coverage
Lines: 3 3 100.0%
Functions: 8 8 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 "add_sc.h"
6
7 namespace kleidicv::sme {
8
9 template <typename T>
10 KLEIDICV_LOCALLY_STREAMING KLEIDICV_TARGET_FN_ATTRS kleidicv_error_t
11 642 saturating_add(const T *src_a, size_t src_a_stride, const T *src_b,
12 size_t src_b_stride, T *dst, size_t dst_stride, size_t width,
13 size_t height) {
14 1284 return saturating_add_sc<T>(src_a, src_a_stride, src_b, src_b_stride, dst,
15 642 dst_stride, width, height);
16 }
17
18 #define KLEIDICV_INSTANTIATE_TEMPLATE(type) \
19 template KLEIDICV_TARGET_FN_ATTRS kleidicv_error_t saturating_add<type>( \
20 const type *src_a, size_t src_a_stride, const type *src_b, \
21 size_t src_b_stride, type *dst, size_t dst_stride, size_t width, \
22 size_t height)
23
24 KLEIDICV_INSTANTIATE_TEMPLATE(int8_t);
25 KLEIDICV_INSTANTIATE_TEMPLATE(uint8_t);
26 KLEIDICV_INSTANTIATE_TEMPLATE(int16_t);
27 KLEIDICV_INSTANTIATE_TEMPLATE(uint16_t);
28 KLEIDICV_INSTANTIATE_TEMPLATE(int32_t);
29 KLEIDICV_INSTANTIATE_TEMPLATE(uint32_t);
30 KLEIDICV_INSTANTIATE_TEMPLATE(int64_t);
31 KLEIDICV_INSTANTIATE_TEMPLATE(uint64_t);
32
33 } // namespace kleidicv::sme
34