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 |
|
|
|
|