A common mistake when writing binary search is to allow possible integer overflow by using the simple average: mid = (min + max) / 2; Instead, use the overflow-safe version: mid = min + (max - min) / 2; This translation is safe since the operation occurs inside a loop conditioned on "min < max". The included changes were found using the following git grep: git grep '/ *2;' '*.c' Making this cleanup will prevent future review friction when a new binary search is contructed based on existing code. Signed-off-by: Derrick Stolee <dstolee@microsoft.com> Reviewed-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> |
||
|---|---|---|
| .. | ||
| xdiff.h | ||
| xdiffi.c | ||
| xdiffi.h | ||
| xemit.c | ||
| xemit.h | ||
| xhistogram.c | ||
| xinclude.h | ||
| xmacros.h | ||
| xmerge.c | ||
| xpatience.c | ||
| xprepare.c | ||
| xprepare.h | ||
| xtypes.h | ||
| xutils.c | ||
| xutils.h | ||