diff options
-rw-r--r-- | src/math.c | 3 | ||||
-rw-r--r-- | src/math.h | 5 | ||||
-rw-r--r-- | tests/math.c | 14 |
3 files changed, 22 insertions, 0 deletions
@@ -41,3 +41,6 @@ mul_size(const size_t x, const size_t y, size_t *const out) { out: return rc; } + +extern inline size_t +max_size(const size_t x, const size_t y); @@ -3,3 +3,8 @@ add_size(const size_t x, const size_t y, size_t *const out); int mul_size(const size_t x, const size_t y, size_t *const out); + +inline size_t +max_size(size_t x, size_t y) { + return x > y ? x : y; +} diff --git a/tests/math.c b/tests/math.c index 2aefa59..5dcebda 100644 --- a/tests/math.c +++ b/tests/math.c @@ -122,6 +122,19 @@ test_mul_size(void) { } } +static void +test_max_size(void) { + test_start("max_size()"); + + { + testing("simplistic cases"); + assert(max_size(0U, 0U) == 0U); + assert(max_size(1U, 0U) == 1U); + assert(max_size(10U, SIZE_MAX + 1U) == 10U); + test_ok(); + } +} + int main(void) { @@ -129,6 +142,7 @@ main(void) { test_add_size(); test_mul_size(); + test_max_size(); rc = EXIT_SUCCESS; return rc; |