This commit is contained in:
Daniel Ledda
2025-01-10 13:51:38 +01:00
parent 49e379dd54
commit fb29608871
3 changed files with 14 additions and 24 deletions

View File

@@ -1,9 +1,10 @@
#include <unistd.h> // TODO(djledda): get outta here
#include <math.h>
#include <string.h>
#define STB_SPRINTF_IMPLEMENTATION
#include <unistd.h>
#include "core.h"
#include "os.cpp"
#define STB_SPRINTF_IMPLEMENTATION
#include "vendor/stb_sprintf.h"
void *pushSize(Arena *arena, size_t bytes) {
if (arena->capacity - arena->head >= bytes) {
@@ -30,6 +31,10 @@ void arenaFreeFrom(Arena *arena, size_t position) {
arena->head = position;
}
void arenaPopTo(Arena *arena, void *position) {
arena->head = (byte *)position - (byte *)arena->memory;
}
Arena *scratchArenas[2];
void initialiseCore() {
@@ -86,7 +91,7 @@ void zeroList(list<T> *list) {
memset(list->data, 0, list->head * sizeof(T));
}
inline string operator""_s(const char *cstrLiteral, unsigned long length) {
inline string operator""_s(const char *cstrLiteral, size_t length) {
return {
(char *)cstrLiteral,
length,
@@ -292,6 +297,7 @@ real32 parsePositiveReal32(string str, size_t *lengthPointer) {
*lengthPointer += 1;
int fractionalPart = parsePositiveInt(fractionalPartStr, lengthPointer);
if (wholePart >= 0 && fractionalPart >= 0) {
// TODO(dledda): implement powf with intrinsics? or just custom
real32 fractionalPartMultiplier = 1.0f / powf(10.0f, (real32)fractionalPartStr.length);
result = (real32)wholePart + (real32)fractionalPart * (real32)fractionalPartMultiplier;
}