GCC Code Coverage Report


Directory: include/tts/
File: include/tts/tools/bitcast.hpp
Date: 2026-10-14 16:28:14
Exec Total Coverage
Lines: 8 8 100.0%
Functions: 4 4 100.0%
Branches: 2 2 100.0%

Line Branch Exec Source
1 //======================================================================================================================
2 /*
3 TTS - Tiny Test System
4 Copyright : TTS Contributors & Maintainers
5 SPDX-License-Identifier: BSL-1.0
6 */
7 //======================================================================================================================
8 #pragma once
9
10 namespace tts::_
11 {
12 16483 inline auto as_int(float a)
13 {
14 16483 return std::bit_cast<std::uint32_t>(a);
15 }
16 51 inline auto as_int(double a)
17 {
18 51 return std::bit_cast<std::uint64_t>(a);
19 }
20
21 8306 template<typename T> inline auto bitinteger(T a) noexcept
22 {
23 8306 auto ia = as_int(a);
24 using r_t = decltype(ia);
25 8306 constexpr auto mask = r_t(1) << (sizeof(r_t) * 8 - 1);
26
2/2
✓ Branch 0 taken 8 times.
✓ Branch 1 taken 8260 times.
8306 return ((ia & mask) == mask) ? mask - ia : ia;
27 }
28 }
29