clox/value.c

30 lines
648 B
C

#include "value.h"
#include "memory.h"
void initValueArray( ValueArray* array ) {
array->capacity = 0;
array->count = 0;
array->values = NULL;
}
void writeValueArray( ValueArray* array, Value val ) {
if ( array->capacity < array->count + 1 ) {
int oldCap = array->capacity;
array->capacity = GROW_CAPACITY( oldCap );
array->values = GROW_ARRAY( array->values, Value, oldCap, array->capacity );
}
array->values[array->count] = val;
array->count++;
}
void freeValueArray( ValueArray* array ) {
FREE_ARRAY( Value, array->values, array->capacity );
initValueArray( array );
}
void printValue( Value val ) {
printf( "%g", val );
}