aboutsummaryrefslogtreecommitdiff
path: root/vm/base.h
diff options
context:
space:
mode:
authorAryadev Chavali <aryadev@aryadevchavali.com>2023-10-23 04:24:28 +0100
committerAryadev Chavali <aryadev@aryadevchavali.com>2023-10-23 04:25:48 +0100
commitac57e32a0222a3f18e138f0a358d1d01921be3a0 (patch)
treeb688af5abcfc48e08c7eba61f7f24623c536e931 /vm/base.h
parentaa4a3b86143250ff958ca66e77d6097aff8d42a1 (diff)
downloadovm-ac57e32a0222a3f18e138f0a358d1d01921be3a0.tar.gz
ovm-ac57e32a0222a3f18e138f0a358d1d01921be3a0.tar.bz2
ovm-ac57e32a0222a3f18e138f0a358d1d01921be3a0.zip
Added lib folder for general stuff, introduced as target to Makefile
Diffstat (limited to 'vm/base.h')
-rw-r--r--vm/base.h70
1 files changed, 0 insertions, 70 deletions
diff --git a/vm/base.h b/vm/base.h
deleted file mode 100644
index dbeec80..0000000
--- a/vm/base.h
+++ /dev/null
@@ -1,70 +0,0 @@
-/* Copyright (C) 2023 Aryadev Chavali
-
- * You may distribute and modify this code under the terms of the GPLv2
- * license. You should have received a copy of the GPLv2 license with
- * this file. If not, please write to: aryadev@aryadevchavali.com.
-
- * Created: 2023-10-15
- * Author: Aryadev Chavali
- * Description: Basic types and routines
- */
-
-#ifndef BASE_H
-#define BASE_H
-
-#include <stdint.h>
-
-#define ARR_SIZE(xs) (sizeof(xs) / sizeof(xs[0]))
-#define MAX(a, b) ((a) > (b) ? (a) : (b))
-#define MIN(a, b) ((a) > (b) ? (b) : (a))
-
-// Flags
-#ifndef VERBOSE
-#define VERBOSE 0
-#endif
-
-typedef uint64_t u64;
-typedef uint32_t u32;
-typedef int32_t i32;
-typedef int64_t i64;
-typedef float f32;
-typedef double f64;
-
-typedef uint8_t byte;
-typedef u32 hword;
-typedef u64 word;
-
-typedef union
-{
- byte as_byte;
- hword as_hword;
- word as_word;
-} data_t;
-
-typedef enum
-{
- DATA_TYPE_NIL = 0,
- DATA_TYPE_BYTE,
- DATA_TYPE_HWORD,
- DATA_TYPE_WORD,
-} data_type_t;
-
-#define DBYTE(BYTE) ((data_t){.as_byte = (BYTE)})
-#define DHWORD(HWORD) ((data_t){.as_hword = (HWORD)})
-#define DWORD(WORD) ((data_t){.as_word = (WORD)})
-
-#define HWORD_SIZE sizeof(hword)
-#define WORD_SIZE sizeof(word)
-
-// Macros to extract the nth byte or nth hword from a word
-#define WORD_NTH_BYTE(WORD, N) (((WORD) >> ((N)*8)) & 0xff)
-#define WORD_NTH_HWORD(WORD, N) (((WORD) >> ((N)*2)) & 0xFFFFFFFF)
-
-// Assume array contains 4 bytes.
-hword convert_bytes_to_hword(byte *);
-void convert_hword_to_bytes(hword, byte *);
-// Assume array contains 8 bytes.
-word convert_bytes_to_word(byte *);
-void convert_word_to_bytes(word, byte *);
-
-#endif