ESH

Executive Shell
git clone http://git.omkov.net/ESH
Log | Tree | Refs | README | Download

ESH/src/util/util.h (65 lines, 1.6 KiB) -rw-r--r-- file download

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