update
This commit is contained in:
12
core.cpp
12
core.cpp
@@ -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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user