// 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