Browse Source

Remove unnecessary check is `align_formula*` et al

gingerBill 2 years ago
parent
commit
be23d83fc8
1 changed files with 6 additions and 15 deletions
  1. 6 15
      src/common_memory.cpp

+ 6 - 15
src/common_memory.cpp

@@ -14,25 +14,16 @@ 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) {
-	if (align > 0) {
-		i64 result = size + align-1;
-		return result - result%align;
-	}
-	return size;
+	i64 result = size + align-1;
+	return result - (i64)((u64)result%(u64)align);
 }
 gb_internal gb_inline isize align_formula_isize(isize size, isize align) {
-	if (align > 0) {
-		isize result = size + align-1;
-		return result - result%align;
-	}
-	return size;
+	isize result = size + align-1;
+	return result - (isize)((usize)result%(usize)align);
 }
 gb_internal gb_inline void *align_formula_ptr(void *ptr, isize align) {
-	if (align > 0) {
-		uintptr result = (cast(uintptr)ptr) + align-1;
-		return (void *)(result - result%align);
-	}
-	return ptr;
+	uintptr result = (cast(uintptr)ptr) + align-1;
+	return (void *)(result - result%align);
 }