a1eb486 |
Jakob Wakeling |
2023-12-27 13:01:35 |
0
|
// Copyright (C) 2023, Jakob Wakeling |
a1eb486 |
Jakob Wakeling |
2023-12-27 13:01:35 |
1
|
// All rights reserved. |
a1eb486 |
Jakob Wakeling |
2023-12-27 13:01:35 |
2
|
|
8344335 |
Jakob Wakeling |
2023-12-27 15:41:39 |
3
|
#ifndef ESH_UTIL_UTIL_H_WIAX91EM |
8344335 |
Jakob Wakeling |
2023-12-27 15:41:39 |
4
|
#define ESH_UTIL_UTIL_H_WIAX91EM |
a1eb486 |
Jakob Wakeling |
2023-12-27 13:01:35 |
5
|
|
a1eb486 |
Jakob Wakeling |
2023-12-27 13:01:35 |
6
|
#include <float.h> |
a1eb486 |
Jakob Wakeling |
2023-12-27 13:01:35 |
7
|
#include <stddef.h> |
a1eb486 |
Jakob Wakeling |
2023-12-27 13:01:35 |
8
|
#include <stdint.h> |
a1eb486 |
Jakob Wakeling |
2023-12-27 13:01:35 |
9
|
|
a1eb486 |
Jakob Wakeling |
2023-12-27 13:01:35 |
10
|
typedef uint8_t u8; |
a1eb486 |
Jakob Wakeling |
2023-12-27 13:01:35 |
11
|
typedef uint16_t u16; |
a1eb486 |
Jakob Wakeling |
2023-12-27 13:01:35 |
12
|
typedef uint32_t u32; |
a1eb486 |
Jakob Wakeling |
2023-12-27 13:01:35 |
13
|
typedef uint64_t u64; |
a1eb486 |
Jakob Wakeling |
2023-12-27 13:01:35 |
14
|
typedef uintptr_t uptr; |
a1eb486 |
Jakob Wakeling |
2023-12-27 13:01:35 |
15
|
|
a1eb486 |
Jakob Wakeling |
2023-12-27 13:01:35 |
16
|
typedef int8_t s8; |
a1eb486 |
Jakob Wakeling |
2023-12-27 13:01:35 |
17
|
typedef int16_t s16; |
a1eb486 |
Jakob Wakeling |
2023-12-27 13:01:35 |
18
|
typedef int32_t s32; |
a1eb486 |
Jakob Wakeling |
2023-12-27 13:01:35 |
19
|
typedef int64_t s64; |
a1eb486 |
Jakob Wakeling |
2023-12-27 13:01:35 |
20
|
typedef intptr_t sptr; |
a1eb486 |
Jakob Wakeling |
2023-12-27 13:01:35 |
21
|
|
a1eb486 |
Jakob Wakeling |
2023-12-27 13:01:35 |
22
|
typedef float f32; |
a1eb486 |
Jakob Wakeling |
2023-12-27 13:01:35 |
23
|
typedef double f64; |
a1eb486 |
Jakob Wakeling |
2023-12-27 13:01:35 |
24
|
typedef long double f128; |
a1eb486 |
Jakob Wakeling |
2023-12-27 13:01:35 |
25
|
|
a1eb486 |
Jakob Wakeling |
2023-12-27 13:01:35 |
26
|
#define U8_MIN UINT8_MIN |
a1eb486 |
Jakob Wakeling |
2023-12-27 13:01:35 |
27
|
#define U8_MAX UINT8_MAX |
a1eb486 |
Jakob Wakeling |
2023-12-27 13:01:35 |
28
|
#define U16_MIN UINT16_MIN |
a1eb486 |
Jakob Wakeling |
2023-12-27 13:01:35 |
29
|
#define U16_MAX UINT16_MAX |
a1eb486 |
Jakob Wakeling |
2023-12-27 13:01:35 |
30
|
#define U32_MIN UINT32_MIN |
a1eb486 |
Jakob Wakeling |
2023-12-27 13:01:35 |
31
|
#define U32_MAX UINT32_MAX |
a1eb486 |
Jakob Wakeling |
2023-12-27 13:01:35 |
32
|
#define U64_MIN UINT64_MIN |
a1eb486 |
Jakob Wakeling |
2023-12-27 13:01:35 |
33
|
#define U64_MAX UINT64_MAX |
a1eb486 |
Jakob Wakeling |
2023-12-27 13:01:35 |
34
|
#define UPTR_MIN UINTPTR_MIN |
a1eb486 |
Jakob Wakeling |
2023-12-27 13:01:35 |
35
|
#define UPTR_MAX UINTPTR_MAX |
a1eb486 |
Jakob Wakeling |
2023-12-27 13:01:35 |
36
|
|
a1eb486 |
Jakob Wakeling |
2023-12-27 13:01:35 |
37
|
#define S8_MIN INT8_MIN |
a1eb486 |
Jakob Wakeling |
2023-12-27 13:01:35 |
38
|
#define S8_MAX INT8_MAX |
a1eb486 |
Jakob Wakeling |
2023-12-27 13:01:35 |
39
|
#define S16_MIN INT16_MIN |
a1eb486 |
Jakob Wakeling |
2023-12-27 13:01:35 |
40
|
#define S16_MAX INT16_MAX |
a1eb486 |
Jakob Wakeling |
2023-12-27 13:01:35 |
41
|
#define S32_MIN INT32_MIN |
a1eb486 |
Jakob Wakeling |
2023-12-27 13:01:35 |
42
|
#define S32_MAX INT32_MAX |
a1eb486 |
Jakob Wakeling |
2023-12-27 13:01:35 |
43
|
#define S64_MIN INT64_MIN |
a1eb486 |
Jakob Wakeling |
2023-12-27 13:01:35 |
44
|
#define S64_MAX INT64_MAX |
a1eb486 |
Jakob Wakeling |
2023-12-27 13:01:35 |
45
|
#define SPTR_MIN INTPTR_MIN |
a1eb486 |
Jakob Wakeling |
2023-12-27 13:01:35 |
46
|
#define SPTR_MAX INTPTR_MAX |
a1eb486 |
Jakob Wakeling |
2023-12-27 13:01:35 |
47
|
|
a1eb486 |
Jakob Wakeling |
2023-12-27 13:01:35 |
48
|
#define F32_MIN FLT_MIN |
a1eb486 |
Jakob Wakeling |
2023-12-27 13:01:35 |
49
|
#define F32_MAX FLT_MAX |
a1eb486 |
Jakob Wakeling |
2023-12-27 13:01:35 |
50
|
#define F64_MIN DBL_MIN |
a1eb486 |
Jakob Wakeling |
2023-12-27 13:01:35 |
51
|
#define F64_MAX DBL_MAX |
a1eb486 |
Jakob Wakeling |
2023-12-27 13:01:35 |
52
|
#define F128_MIN LDBL_MIN |
a1eb486 |
Jakob Wakeling |
2023-12-27 13:01:35 |
53
|
#define F128_MAX LDBL_MAX |
a1eb486 |
Jakob Wakeling |
2023-12-27 13:01:35 |
54
|
|
a1eb486 |
Jakob Wakeling |
2023-12-27 13:01:35 |
55
|
#define xmalloc(size) _xmalloc(size, __FILE__, __LINE__) |
a1eb486 |
Jakob Wakeling |
2023-12-27 13:01:35 |
56
|
#define xcalloc(nmemb, size) _xcalloc(nmemb, size, __FILE__, __LINE__) |
a1eb486 |
Jakob Wakeling |
2023-12-27 13:01:35 |
57
|
#define xrealloc(ptr, size) _xrealloc(ptr, size, __FILE__, __LINE__) |
a1eb486 |
Jakob Wakeling |
2023-12-27 13:01:35 |
58
|
|
a1eb486 |
Jakob Wakeling |
2023-12-27 13:01:35 |
59
|
extern void *_xmalloc(size_t size, const char *file, int line); |
a1eb486 |
Jakob Wakeling |
2023-12-27 13:01:35 |
60
|
extern void *_xcalloc(size_t nmemb, size_t size, const char *file, int line); |
a1eb486 |
Jakob Wakeling |
2023-12-27 13:01:35 |
61
|
extern void *_xrealloc(void *ptr, size_t size, const char *file, int line); |
a1eb486 |
Jakob Wakeling |
2023-12-27 13:01:35 |
62
|
|
8344335 |
Jakob Wakeling |
2023-12-27 15:41:39 |
63
|
#endif // ESH_UTIL_UTIL_H_WIAX91EM |
|
|
|
64
|
|