32 lines
905 B
C
32 lines
905 B
C
// Kyler Olsen
|
|
// YREA SLS
|
|
// Builtin Functions Header
|
|
// November 2025
|
|
|
|
#ifndef SLS_BUILTIN_FUNCTIONS_H
|
|
#define SLS_BUILTIN_FUNCTIONS_H
|
|
|
|
#include "sls/bool.h"
|
|
#include "sls/interpreter.h"
|
|
|
|
#if __SIZEOF_POINTER__ == 4
|
|
// 32-bit system
|
|
#define SLS_INTEGER_BUILTIN_DEFAULT INTEGER_I32
|
|
#define SLS_UNSIGNED_INTEGER_BUILTIN_DEFAULT INTEGER_U32
|
|
#define SLS_FLOAT_BUILTIN_DEFAULT TOKEN_FLOAT
|
|
#elif __SIZEOF_POINTER__ == 8
|
|
// 64-bit system
|
|
#define SLS_INTEGER_BUILTIN_DEFAULT INTEGER_I64
|
|
#define SLS_UNSIGNED_INTEGER_BUILTIN_DEFAULT INTEGER_U64
|
|
#define SLS_FLOAT_BUILTIN_DEFAULT TOKEN_DOUBLE
|
|
#else
|
|
// Fallback
|
|
#define SLS_INTEGER_BUILTIN_DEFAULT INTEGER_I16
|
|
#define SLS_UNSIGNED_INTEGER_BUILTIN_DEFAULT INTEGER_U16
|
|
#define SLS_FLOAT_BUILTIN_DEFAULT TOKEN_FLOAT
|
|
#endif
|
|
|
|
Boolean load_builtins(InterpreterState *interpreter_state);
|
|
|
|
#endif // SLS_BUILTIN_FUNCTIONS_H
|