Remove unnecessary check is align_formula* et al

This commit is contained in:
gingerBill
2023-01-05 00:47:09 +00:00
parent 291ea33939
commit be23d83fc8
+2 -11
View File
@@ -14,26 +14,17 @@ gb_internal gb_inline U const &bit_cast(V const &v) { return reinterpret_cast<U
gb_internal gb_inline i64 align_formula(i64 size, i64 align) { gb_internal gb_inline i64 align_formula(i64 size, i64 align) {
if (align > 0) {
i64 result = size + align-1; i64 result = size + align-1;
return result - result%align; return result - (i64)((u64)result%(u64)align);
}
return size;
} }
gb_internal gb_inline isize align_formula_isize(isize size, isize align) { gb_internal gb_inline isize align_formula_isize(isize size, isize align) {
if (align > 0) {
isize result = size + align-1; isize result = size + align-1;
return result - result%align; return result - (isize)((usize)result%(usize)align);
}
return size;
} }
gb_internal gb_inline void *align_formula_ptr(void *ptr, isize align) { gb_internal gb_inline void *align_formula_ptr(void *ptr, isize align) {
if (align > 0) {
uintptr result = (cast(uintptr)ptr) + align-1; uintptr result = (cast(uintptr)ptr) + align-1;
return (void *)(result - result%align); return (void *)(result - result%align);
} }
return ptr;
}
gb_global BlockingMutex global_memory_block_mutex; gb_global BlockingMutex global_memory_block_mutex;