Perform proper memory commit. Many bug fizes

This commit is contained in:
2026-06-09 20:15:12 +02:00
parent 6b9b058859
commit 2b4660f7d5
7 changed files with 234 additions and 143 deletions
+10 -8
View File
@@ -41,10 +41,11 @@ typedef unsigned __int128 U128;
#define U32_Max ((U32)0xffffffff)
#define U64_Max ((U64)0xffffffffffffffffULL)
#define U8_Min ((U8) 0x80)
#define U16_Min ((U16)0x8000)
#define U32_Min ((U32)0x80000000)
#define U64_Min ((U64)0x8000000000000000ULL)
// Duh ..
#define U8_Min ((U8)0x0)
#define U16_Min ((U16)0x0)
#define U32_Min ((U32)0x0)
#define U64_Min ((U64)0x0)
#define S8_Max ((S8) 0x7f)
#define S16_Max ((S16)0x7fff)
@@ -107,6 +108,7 @@ typedef unsigned __int128 U128;
#define AlignDownPow2(val, align) ((val) & ~((align) - 1UL))
#define IsPow2(x) ((x) && !((x) & ((x) - 1UL)))
#define IsPow2OrZero(x) (!((x) & ((x) - 1UL)))
#define IsAlignedToPow2(x, y) (IsPow2(y) && !((x) & ((y) - 1UL)))
#define GetBit(val, idx) (((val) >> (idx)) & 1)
// Get n_bits starting at idx going left
@@ -132,7 +134,7 @@ typedef unsigned __int128 U128;
#endif
/**
* Round up x / y
* Ceiling of X / y , or round up x / y
* (e.g 100/9 == 12, 3/2 == 2)
* x + y must not overflow.
*
@@ -140,7 +142,7 @@ typedef unsigned __int128 U128;
* @param y denominator
* @return x/y rounded up
*/
#define DivRoundUp(x, y) (((x) + ((y) - 1)) / (y))
#define CeilDiv(x, y) (((x) + ((y) - 1)) / (y))
/**
* Round x up to nearest multiple of y
@@ -151,7 +153,7 @@ typedef unsigned __int128 U128;
* @param y denominator
* @return x rounded up to nearest multiple of y
*/
#define RoundUp(x, y) (DIV_ROUND_UP((x), (y)) * (y))
#define RoundUpToMultiple(x, y) (CeilDiv((x), (y)) * (y))
/**
* Round x down to nearest multiple of y
@@ -162,7 +164,7 @@ typedef unsigned __int128 U128;
* @param y denominator
* @return x rounded down nearest multiple of y
*/
#define RoundDown(x, y) ((x) / (y) * (y))
#define RoundDownToMultiple(x, y) ((x) / (y) * (y))
#define Clamp(val, min, max) (((val) < (min)) ? (min) : ((val) > (max)) ? (max) : (val))
#ifdef __GNUC__