GCC Code Coverage Report


Directory: ./
File: unit_tests/test-framework/MlgDataType.h
Date: 2025-10-03 00:57:22
Coverage Exec Excl Total
Lines: 0.0% 0 0 22
Functions: 0.0% 0 0 2
Branches: 0.0% 0 0 15
Decisions: 0.0% 0 - 16

Line Branch Decision Exec Source
1 /*
2 * MlgDataType.h
3 */
4
5 #pragma once
6
7 #include <cstdint> // For int8_t
8
9 enum class MlgDataType : int8_t {
10 MLG_DATA_S8 = 0,
11 MLG_DATA_U8 = 1,
12 MLG_DATA_S16 = 2,
13 MLG_DATA_U16 = 3,
14 MLG_DATA_S32 = 4,
15 MLG_DATA_U32 = 5,
16 MLG_DATA_BIT = 6,
17 MLG_DATA_FLOAT = 7,
18 // Add any other types if they exist in your Java MlgDataType enum
19 };
20
21 // Helper function to get record size based on type
22 inline int getRecordSize(MlgDataType type) {
23 switch (type) {
24 case MlgDataType::MLG_DATA_S8:
25 case MlgDataType::MLG_DATA_U8:
26 case MlgDataType::MLG_DATA_BIT:
27 return 1;
28 case MlgDataType::MLG_DATA_S16:
29 case MlgDataType::MLG_DATA_U16:
30 return 2;
31 case MlgDataType::MLG_DATA_S32:
32 case MlgDataType::MLG_DATA_U32:
33 case MlgDataType::MLG_DATA_FLOAT:
34 return 4;
35 default:
36 return 0; // Or throw an error for unknown types
37 }
38 }
39
40 inline MlgDataType findByOrdinal(int8_t ordinal) {
41 switch (ordinal) {
42 case 0: return MlgDataType::MLG_DATA_S8;
43 case 1: return MlgDataType::MLG_DATA_U8;
44 case 2: return MlgDataType::MLG_DATA_S16;
45 case 3: return MlgDataType::MLG_DATA_U16;
46 case 4: return MlgDataType::MLG_DATA_S32;
47 case 5: return MlgDataType::MLG_DATA_U32;
48 case 6: return MlgDataType::MLG_DATA_BIT;
49 case 7: return MlgDataType::MLG_DATA_FLOAT;
50 default:
51 throw std::runtime_error("Unknown MlgDataType ordinal: " + std::to_string(ordinal));
52 }
53 }
54