summaryrefslogtreecommitdiff
path: root/common.h
diff options
context:
space:
mode:
Diffstat (limited to 'common.h')
-rw-r--r--common.h24
1 files changed, 24 insertions, 0 deletions
diff --git a/common.h b/common.h
new file mode 100644
index 0000000..ab7a359
--- /dev/null
+++ b/common.h
@@ -0,0 +1,24 @@
+#pragma once
+
+constexpr size_t kInstructionSizeStepBytes = 2;
+
+static inline size_t Min(size_t a, size_t b) { return a < b ? a : b; }
+
+static inline uint16_t GetU16BE(uint8_t *buffer)
+{
+ return (static_cast<uint16_t>(buffer[0]) << 8) | static_cast<uint16_t>(buffer[1]);
+}
+
+static inline int16_t GetI16BE(uint8_t *buffer)
+{
+ return (static_cast<uint16_t>(buffer[0]) << 8) | static_cast<uint16_t>(buffer[1]);
+}
+
+static inline int32_t GetI32BE(uint8_t *buffer)
+{
+ return (static_cast<uint32_t>(buffer[0]) << 24) |
+ (static_cast<uint32_t>(buffer[1]) << 16) |
+ (static_cast<uint32_t>(buffer[2]) << 8) |
+ static_cast<uint32_t>(buffer[3]);
+}
+