C-libs 0.1.0
Some C utils libraries
 
Loading...
Searching...
No Matches
Literals

Macros

#define LITERAL_I64(i)
 
#define LITERAL_U64(i)
 
#define I8_MAX   ((i8)(((u8)(~0)) >> 1))
 
#define I16_MAX   ((i16)(((u16)(~0)) >> 1))
 
#define I32_MAX   ((i32)(((u32)(~0)) >> 1))
 
#define I64_MAX   ((i64)(((u64)(~0)) >> 1))
 
#define I8_MIN   ((i8)(1 << (7)))
 
#define I16_MIN   ((i16)(1 << (15)))
 
#define I32_MIN   ((i32)(1 << (31)))
 
#define I64_MIN   ((i64)(1 << (63)))
 
#define U8_MAX   ((u8)(~0))
 
#define U16_MAX   ((u16)(~0))
 
#define U32_MAX   ((u32)(~0))
 
#define U64_MAX   ((u64)(~0))
 

Detailed Description

Macros for defining 64-bit literals portably.

Maximum and minimum values for integer types.

Note
Signed Max(iX) = (iX)(((uX)(~0)) >> 1) and Min(iX) = -Max(iX)-1 = 1 << (X-1)
Unsigned Max(uX) = (uX)(-1) = (uX)(~0) = (((uX)(Max(iX))) << 1) + 1

Macro Definition Documentation

◆ I16_MAX

#define I16_MAX   ((i16)(((u16)(~0)) >> 1))

◆ I16_MIN

#define I16_MIN   ((i16)(1 << (15)))

◆ I32_MAX

#define I32_MAX   ((i32)(((u32)(~0)) >> 1))

◆ I32_MIN

#define I32_MIN   ((i32)(1 << (31)))

◆ I64_MAX

#define I64_MAX   ((i64)(((u64)(~0)) >> 1))

◆ I64_MIN

#define I64_MIN   ((i64)(1 << (63)))

◆ I8_MAX

#define I8_MAX   ((i8)(((u8)(~0)) >> 1))

◆ I8_MIN

#define I8_MIN   ((i8)(1 << (7)))

◆ LITERAL_I64

#define LITERAL_I64 ( i)
Value:
i##LL

◆ LITERAL_U64

#define LITERAL_U64 ( i)
Value:
i##ULL

◆ U16_MAX

#define U16_MAX   ((u16)(~0))

◆ U32_MAX

#define U32_MAX   ((u32)(~0))

◆ U64_MAX

#define U64_MAX   ((u64)(~0))

◆ U8_MAX

#define U8_MAX   ((u8)(~0))