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