summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/rune_math.h37
-rw-r--r--include/rune_types.h40
2 files changed, 77 insertions, 0 deletions
diff --git a/include/rune_math.h b/include/rune_math.h
new file mode 100644
index 0000000..25bf4fd
--- /dev/null
+++ b/include/rune_math.h
@@ -0,0 +1,37 @@
+#ifndef RUNE_MATH_H
+#define RUNE_MATH_H
+
+struct vec2 {
+ float x;
+ float y;
+};
+
+struct vec3 {
+ float x;
+ float y;
+ float z;
+};
+
+struct vec4 {
+ float x;
+ float y;
+ float z;
+ float w;
+};
+
+struct mat3 {
+ struct vec3 v[3];
+};
+
+struct mat4 {
+ struct vec3 v[4];
+};
+
+struct quat {
+ float x;
+ float y;
+ float z;
+ float w;
+};
+
+#endif
diff --git a/include/rune_types.h b/include/rune_types.h
new file mode 100644
index 0000000..8fada14
--- /dev/null
+++ b/include/rune_types.h
@@ -0,0 +1,40 @@
+#ifndef RUNE_TYPES_H
+#define RUNE_TYPES_H
+
+#include <assert.h>
+#include <stdint.h>
+
+#if defined(__clang__) || defined(__gcc__)
+ #define STATIC_ASSERT _Static_assert
+#else
+ #define STATIC_ASSERT static_assert
+#endif
+
+STATIC_ASSERT(sizeof(uint8_t) == 1, "Expected uint8_t to be 1 byte");
+STATIC_ASSERT(sizeof(uint16_t) == 2, "Expected uint16_t to be 2 bytes");
+STATIC_ASSERT(sizeof(uint32_t) == 4, "Expected uint32_t to be 4 bytes");
+STATIC_ASSERT(sizeof(uint64_t) == 8, "Expected uint64_t to be 8 bytes");
+
+STATIC_ASSERT(sizeof(int8_t) == 1, "Expected int8_t to be 1 byte");
+STATIC_ASSERT(sizeof(int16_t) == 2, "Expected int16_t to be 2 bytes");
+STATIC_ASSERT(sizeof(int32_t) == 4, "Expected int32_t to be 4 bytes");
+STATIC_ASSERT(sizeof(int64_t) == 8, "Expected int64_t to be 8 bytes");
+
+STATIC_ASSERT(sizeof(float) == 4, "Expected float to be 4 bytes");
+STATIC_ASSERT(sizeof(double) == 8, "Expected double to be 8 bytes");
+
+#ifdef REXPORT
+ #ifdef _MSC_VER
+ #define RAPI __declspec(dllexport)
+ #else
+ #define RAPI __attribute__((visibility("default")))
+ #endif
+#else
+ #ifdef _MSC_VER
+ #define RAPI __declspec(dllexport)
+ #else
+ #define RAPI
+ #endif
+#endif
+
+#endif