.
This commit is contained in:
4
TODO.md
4
TODO.md
@@ -5,8 +5,8 @@ Decisions:
|
||||
- How values and heap values will be represented
|
||||
- Transparency and log levels
|
||||
|
||||
- [ ] Makefile
|
||||
- [ ] VALUE
|
||||
- [x] Makefile
|
||||
- [x] VALUE
|
||||
- [ ] Stack
|
||||
- [ ] Test application (C++?)
|
||||
- [ ] Heap
|
||||
|
||||
@@ -15,6 +15,11 @@ typedef struct {
|
||||
|
||||
static_assert(sizeof(VALUE) <= 8, "VALUE must be < 8 bytes");
|
||||
|
||||
static TYC_TYPE value_type(VALUE v)
|
||||
{
|
||||
return v.type;
|
||||
}
|
||||
|
||||
static int32_t value_integer(VALUE v)
|
||||
{
|
||||
#ifdef CHECK_TYCHE_BUGS
|
||||
|
||||
16
test/tests.c
Normal file
16
test/tests.c
Normal file
@@ -0,0 +1,16 @@
|
||||
#include "../lib/vm.c"
|
||||
|
||||
#include <assert.h>
|
||||
#include <math.h>
|
||||
#include <string.h>
|
||||
|
||||
#define EQ(a, b) (memcmp(a, b) == 0)
|
||||
|
||||
int main()
|
||||
{
|
||||
// values
|
||||
assert(value_type(create_value_integer(42)) == TT_INTEGER);
|
||||
assert(value_integer(create_value_integer(-42)) == -42);
|
||||
assert(fabsf(value_real(create_value_real(42.4f)) - 42.4f) < 0.00001f);
|
||||
assert(value_idx(create_value_idx(TT_FUNCTION, 42)) == 42);
|
||||
}
|
||||
@@ -1,7 +0,0 @@
|
||||
extern "C" {
|
||||
#include "../lib/vm.c"
|
||||
}
|
||||
|
||||
int main()
|
||||
{
|
||||
}
|
||||
Reference in New Issue
Block a user