rework intdef.h to not rely upon standard library headers by using predefined macros.

This commit is contained in:
2025-10-09 11:59:59 +02:00
parent 6eb7d126da
commit 27c862c215

View File

@@ -2,27 +2,26 @@
* Licensed under the MIT Licence. See LICENSE for details */ * Licensed under the MIT Licence. See LICENSE for details */
#pragma once #pragma once
/* variable-width integer types */ typedef signed long long int llong;
typedef unsigned int uint; // ≥16 bit unsigned integer typedef unsigned short int ushort;
typedef unsigned long ulong; // ≥32 bit unsigned integer typedef unsigned int uint;
typedef signed long long llong; // ≥64 bit signed integer typedef unsigned long ulong;
typedef unsigned long long ullong; // ≥64 bit unsigned integer typedef unsigned long long ullong;
typedef __INT8_TYPE__ i8;
typedef __INT16_TYPE__ i16;
typedef __INT32_TYPE__ i32;
typedef __INT64_TYPE__ i64;
typedef __UINT8_TYPE__ u8;
typedef __UINT16_TYPE__ u16;
typedef __UINT32_TYPE__ u32;
typedef __UINT64_TYPE__ u64;
typedef __SIZE_TYPE__ usize;
typedef __INTPTR_TYPE__ intptr;
typedef __UINTPTR_TYPE__ uintptr;
/* fixed-width integer types */ #if __SIZEOF_FLOAT__ == 4
#include <stdint.h> typedef float f32;
typedef int8_t i8; #endif
typedef int16_t i16; #if __SIZEOF_DOUBLE__ == 8
typedef int32_t i32; typedef double f64;
typedef int64_t i64; #endif
typedef uint8_t u8;
typedef uint16_t u16;
typedef uint32_t u32;
typedef uint64_t u64;
#include <stdlib.h>
typedef size_t usize;
typedef ssize_t ssize;
/* floating point types */
typedef float f32; // single-precision floating-point
typedef double f64; // double-precision floating-point