diff options
Diffstat (limited to 'tests/core/integer.c')
-rw-r--r-- | tests/core/integer.c | 253 |
1 files changed, 0 insertions, 253 deletions
diff --git a/tests/core/integer.c b/tests/core/integer.c deleted file mode 100644 index 18364ba62..000000000 --- a/tests/core/integer.c +++ /dev/null @@ -1,253 +0,0 @@ -#include "clar_libgit2.h" - -void test_core_integer__multiply_int64_no_overflow(void) -{ -#if !defined(git__multiply_int64_overflow) - int64_t result = 0; - cl_assert(!git__multiply_int64_overflow(&result, INT64_C(0x0), INT64_C(0x0))); - cl_assert_equal_i(result, INT64_C(0x0)); - cl_assert(!git__multiply_int64_overflow(&result, INT64_C(0x0), INT64_C(0x1))); - cl_assert_equal_i(result, INT64_C(0x0)); - cl_assert(!git__multiply_int64_overflow(&result, INT64_C(0x0), INT64_C(-0x1))); - cl_assert_equal_i(result, INT64_C(0x0)); - cl_assert(!git__multiply_int64_overflow(&result, INT64_C(0x0), INT64_C(0x2))); - cl_assert_equal_i(result, INT64_C(0x0)); - cl_assert(!git__multiply_int64_overflow(&result, INT64_C(0x0), INT64_C(-0x2))); - cl_assert_equal_i(result, INT64_C(0x0)); - cl_assert(!git__multiply_int64_overflow(&result, INT64_C(0x0), INT64_C(0x7ffffffffffffff))); - cl_assert_equal_i(result, INT64_C(0x0)); - cl_assert(!git__multiply_int64_overflow(&result, INT64_C(0x0), INT64_C(-0x7ffffffffffffff))); - cl_assert_equal_i(result, INT64_C(0x0)); - cl_assert(!git__multiply_int64_overflow(&result, INT64_C(0x0), INT64_C(0x800000000000000))); - cl_assert_equal_i(result, INT64_C(0x0)); - cl_assert(!git__multiply_int64_overflow(&result, INT64_C(0x0), INT64_C(-0x800000000000000))); - cl_assert_equal_i(result, INT64_C(0x0)); - cl_assert(!git__multiply_int64_overflow(&result, INT64_C(0x0), INT64_C(0x7fffffffffffffff))); - cl_assert_equal_i(result, INT64_C(0x0)); - cl_assert(!git__multiply_int64_overflow(&result, INT64_C(0x0), INT64_C(-0x7fffffffffffffff))); - cl_assert_equal_i(result, INT64_C(0x0)); - cl_assert(!git__multiply_int64_overflow(&result, INT64_C(0x0), INT64_C(-0x8000000000000000))); - cl_assert_equal_i(result, INT64_C(0x0)); - cl_assert(!git__multiply_int64_overflow(&result, INT64_C(0x1), INT64_C(0x0))); - cl_assert_equal_i(result, INT64_C(0x0)); - cl_assert(!git__multiply_int64_overflow(&result, INT64_C(0x1), INT64_C(0x1))); - cl_assert_equal_i(result, INT64_C(0x1)); - cl_assert(!git__multiply_int64_overflow(&result, INT64_C(0x1), INT64_C(-0x1))); - cl_assert_equal_i(result, INT64_C(-0x1)); - cl_assert(!git__multiply_int64_overflow(&result, INT64_C(0x1), INT64_C(0x2))); - cl_assert_equal_i(result, INT64_C(0x2)); - cl_assert(!git__multiply_int64_overflow(&result, INT64_C(0x1), INT64_C(-0x2))); - cl_assert_equal_i(result, INT64_C(-0x2)); - cl_assert(!git__multiply_int64_overflow(&result, INT64_C(0x1), INT64_C(0x7ffffffffffffff))); - cl_assert_equal_i(result, INT64_C(0x7ffffffffffffff)); - cl_assert(!git__multiply_int64_overflow(&result, INT64_C(0x1), INT64_C(-0x7ffffffffffffff))); - cl_assert_equal_i(result, INT64_C(-0x7ffffffffffffff)); - cl_assert(!git__multiply_int64_overflow(&result, INT64_C(0x1), INT64_C(0x800000000000000))); - cl_assert_equal_i(result, INT64_C(0x800000000000000)); - cl_assert(!git__multiply_int64_overflow(&result, INT64_C(0x1), INT64_C(-0x800000000000000))); - cl_assert_equal_i(result, INT64_C(-0x800000000000000)); - cl_assert(!git__multiply_int64_overflow(&result, INT64_C(0x1), INT64_C(0x7fffffffffffffff))); - cl_assert_equal_i(result, INT64_C(0x7fffffffffffffff)); - cl_assert(!git__multiply_int64_overflow(&result, INT64_C(0x1), INT64_C(-0x7fffffffffffffff))); - cl_assert_equal_i(result, INT64_C(-0x7fffffffffffffff)); - cl_assert(!git__multiply_int64_overflow(&result, INT64_C(-0x1), INT64_C(0x0))); - cl_assert_equal_i(result, INT64_C(0x0)); - cl_assert(!git__multiply_int64_overflow(&result, INT64_C(-0x1), INT64_C(0x1))); - cl_assert_equal_i(result, INT64_C(-0x1)); - cl_assert(!git__multiply_int64_overflow(&result, INT64_C(-0x1), INT64_C(-0x1))); - cl_assert_equal_i(result, INT64_C(0x1)); - cl_assert(!git__multiply_int64_overflow(&result, INT64_C(-0x1), INT64_C(0x2))); - cl_assert_equal_i(result, INT64_C(-0x2)); - cl_assert(!git__multiply_int64_overflow(&result, INT64_C(-0x1), INT64_C(-0x2))); - cl_assert_equal_i(result, INT64_C(0x2)); - cl_assert(!git__multiply_int64_overflow(&result, INT64_C(-0x1), INT64_C(0x7ffffffffffffff))); - cl_assert_equal_i(result, INT64_C(-0x7ffffffffffffff)); - cl_assert(!git__multiply_int64_overflow(&result, INT64_C(-0x1), INT64_C(-0x7ffffffffffffff))); - cl_assert_equal_i(result, INT64_C(0x7ffffffffffffff)); - cl_assert(!git__multiply_int64_overflow(&result, INT64_C(-0x1), INT64_C(0x800000000000000))); - cl_assert_equal_i(result, INT64_C(-0x800000000000000)); - cl_assert(!git__multiply_int64_overflow(&result, INT64_C(-0x1), INT64_C(-0x800000000000000))); - cl_assert_equal_i(result, INT64_C(0x800000000000000)); - cl_assert(!git__multiply_int64_overflow(&result, INT64_C(-0x1), INT64_C(0x7fffffffffffffff))); - cl_assert_equal_i(result, INT64_C(-0x7fffffffffffffff)); - cl_assert(!git__multiply_int64_overflow(&result, INT64_C(-0x1), INT64_C(-0x7fffffffffffffff))); - cl_assert_equal_i(result, INT64_C(0x7fffffffffffffff)); - cl_assert(!git__multiply_int64_overflow(&result, INT64_C(0x2), INT64_C(0x0))); - cl_assert_equal_i(result, INT64_C(0x0)); - cl_assert(!git__multiply_int64_overflow(&result, INT64_C(0x2), INT64_C(0x1))); - cl_assert_equal_i(result, INT64_C(0x2)); - cl_assert(!git__multiply_int64_overflow(&result, INT64_C(0x2), INT64_C(-0x1))); - cl_assert_equal_i(result, INT64_C(-0x2)); - cl_assert(!git__multiply_int64_overflow(&result, INT64_C(0x2), INT64_C(0x2))); - cl_assert_equal_i(result, INT64_C(0x4)); - cl_assert(!git__multiply_int64_overflow(&result, INT64_C(0x2), INT64_C(-0x2))); - cl_assert_equal_i(result, INT64_C(-0x4)); - cl_assert(!git__multiply_int64_overflow(&result, INT64_C(0x2), INT64_C(0x7ffffffffffffff))); - cl_assert_equal_i(result, INT64_C(0xffffffffffffffe)); - cl_assert(!git__multiply_int64_overflow(&result, INT64_C(0x2), INT64_C(-0x7ffffffffffffff))); - cl_assert_equal_i(result, INT64_C(-0xffffffffffffffe)); - cl_assert(!git__multiply_int64_overflow(&result, INT64_C(0x2), INT64_C(0x800000000000000))); - cl_assert_equal_i(result, INT64_C(0x1000000000000000)); - cl_assert(!git__multiply_int64_overflow(&result, INT64_C(0x2), INT64_C(-0x800000000000000))); - cl_assert_equal_i(result, INT64_C(-0x1000000000000000)); - cl_assert(!git__multiply_int64_overflow(&result, INT64_C(-0x2), INT64_C(0x0))); - cl_assert_equal_i(result, INT64_C(0x0)); - cl_assert(!git__multiply_int64_overflow(&result, INT64_C(-0x2), INT64_C(0x1))); - cl_assert_equal_i(result, INT64_C(-0x2)); - cl_assert(!git__multiply_int64_overflow(&result, INT64_C(-0x2), INT64_C(-0x1))); - cl_assert_equal_i(result, INT64_C(0x2)); - cl_assert(!git__multiply_int64_overflow(&result, INT64_C(-0x2), INT64_C(0x2))); - cl_assert_equal_i(result, INT64_C(-0x4)); - cl_assert(!git__multiply_int64_overflow(&result, INT64_C(-0x2), INT64_C(-0x2))); - cl_assert_equal_i(result, INT64_C(0x4)); - cl_assert(!git__multiply_int64_overflow(&result, INT64_C(-0x2), INT64_C(0x7ffffffffffffff))); - cl_assert_equal_i(result, INT64_C(-0xffffffffffffffe)); - cl_assert(!git__multiply_int64_overflow(&result, INT64_C(-0x2), INT64_C(-0x7ffffffffffffff))); - cl_assert_equal_i(result, INT64_C(0xffffffffffffffe)); - cl_assert(!git__multiply_int64_overflow(&result, INT64_C(-0x2), INT64_C(0x800000000000000))); - cl_assert_equal_i(result, INT64_C(-0x1000000000000000)); - cl_assert(!git__multiply_int64_overflow(&result, INT64_C(-0x2), INT64_C(-0x800000000000000))); - cl_assert_equal_i(result, INT64_C(0x1000000000000000)); - cl_assert(!git__multiply_int64_overflow(&result, INT64_C(0x2), INT64_C(-0x4000000000000000))); - cl_assert_equal_i(result, INT64_C(-0x8000000000000000)); - cl_assert(!git__multiply_int64_overflow(&result, INT64_C(0x7ffffffffffffff), INT64_C(0x0))); - cl_assert_equal_i(result, INT64_C(0x0)); - cl_assert(!git__multiply_int64_overflow(&result, INT64_C(0x7ffffffffffffff), INT64_C(0x1))); - cl_assert_equal_i(result, INT64_C(0x7ffffffffffffff)); - cl_assert(!git__multiply_int64_overflow(&result, INT64_C(0x7ffffffffffffff), INT64_C(-0x1))); - cl_assert_equal_i(result, INT64_C(-0x7ffffffffffffff)); - cl_assert(!git__multiply_int64_overflow(&result, INT64_C(0x7ffffffffffffff), INT64_C(0x2))); - cl_assert_equal_i(result, INT64_C(0xffffffffffffffe)); - cl_assert(!git__multiply_int64_overflow(&result, INT64_C(0x7ffffffffffffff), INT64_C(-0x2))); - cl_assert_equal_i(result, INT64_C(-0xffffffffffffffe)); - cl_assert(!git__multiply_int64_overflow(&result, INT64_C(-0x7ffffffffffffff), INT64_C(0x0))); - cl_assert_equal_i(result, INT64_C(0x0)); - cl_assert(!git__multiply_int64_overflow(&result, INT64_C(-0x7ffffffffffffff), INT64_C(0x1))); - cl_assert_equal_i(result, INT64_C(-0x7ffffffffffffff)); - cl_assert(!git__multiply_int64_overflow(&result, INT64_C(-0x7ffffffffffffff), INT64_C(-0x1))); - cl_assert_equal_i(result, INT64_C(0x7ffffffffffffff)); - cl_assert(!git__multiply_int64_overflow(&result, INT64_C(-0x7ffffffffffffff), INT64_C(0x2))); - cl_assert_equal_i(result, INT64_C(-0xffffffffffffffe)); - cl_assert(!git__multiply_int64_overflow(&result, INT64_C(-0x7ffffffffffffff), INT64_C(-0x2))); - cl_assert_equal_i(result, INT64_C(0xffffffffffffffe)); - cl_assert(!git__multiply_int64_overflow(&result, INT64_C(0x800000000000000), INT64_C(0x0))); - cl_assert_equal_i(result, INT64_C(0x0)); - cl_assert(!git__multiply_int64_overflow(&result, INT64_C(0x800000000000000), INT64_C(0x1))); - cl_assert_equal_i(result, INT64_C(0x800000000000000)); - cl_assert(!git__multiply_int64_overflow(&result, INT64_C(0x800000000000000), INT64_C(-0x1))); - cl_assert_equal_i(result, INT64_C(-0x800000000000000)); - cl_assert(!git__multiply_int64_overflow(&result, INT64_C(0x800000000000000), INT64_C(0x2))); - cl_assert_equal_i(result, INT64_C(0x1000000000000000)); - cl_assert(!git__multiply_int64_overflow(&result, INT64_C(0x800000000000000), INT64_C(-0x2))); - cl_assert_equal_i(result, INT64_C(-0x1000000000000000)); - cl_assert(!git__multiply_int64_overflow(&result, INT64_C(-0x800000000000000), INT64_C(0x0))); - cl_assert_equal_i(result, INT64_C(0x0)); - cl_assert(!git__multiply_int64_overflow(&result, INT64_C(-0x800000000000000), INT64_C(0x1))); - cl_assert_equal_i(result, INT64_C(-0x800000000000000)); - cl_assert(!git__multiply_int64_overflow(&result, INT64_C(-0x800000000000000), INT64_C(-0x1))); - cl_assert_equal_i(result, INT64_C(0x800000000000000)); - cl_assert(!git__multiply_int64_overflow(&result, INT64_C(-0x800000000000000), INT64_C(0x2))); - cl_assert_equal_i(result, INT64_C(-0x1000000000000000)); - cl_assert(!git__multiply_int64_overflow(&result, INT64_C(-0x800000000000000), INT64_C(-0x2))); - cl_assert_equal_i(result, INT64_C(0x1000000000000000)); - cl_assert(!git__multiply_int64_overflow(&result, INT64_C(0x7fffffffffffffff), INT64_C(0x0))); - cl_assert_equal_i(result, INT64_C(0x0)); - cl_assert(!git__multiply_int64_overflow(&result, INT64_C(0x7fffffffffffffff), INT64_C(0x1))); - cl_assert_equal_i(result, INT64_C(0x7fffffffffffffff)); - cl_assert(!git__multiply_int64_overflow(&result, INT64_C(0x7fffffffffffffff), INT64_C(-0x1))); - cl_assert_equal_i(result, INT64_C(-0x7fffffffffffffff)); - cl_assert(!git__multiply_int64_overflow(&result, INT64_C(-0x4000000000000000), INT64_C(0x2))); - cl_assert_equal_i(result, INT64_C(-0x8000000000000000)); - cl_assert(!git__multiply_int64_overflow(&result, INT64_C(-0x7fffffffffffffff), INT64_C(0x0))); - cl_assert_equal_i(result, INT64_C(0x0)); - cl_assert(!git__multiply_int64_overflow(&result, INT64_C(-0x7fffffffffffffff), INT64_C(0x1))); - cl_assert_equal_i(result, INT64_C(-0x7fffffffffffffff)); - cl_assert(!git__multiply_int64_overflow(&result, INT64_C(-0x7fffffffffffffff), INT64_C(-0x1))); - cl_assert_equal_i(result, INT64_C(0x7fffffffffffffff)); - cl_assert(!git__multiply_int64_overflow(&result, INT64_C(-0x8000000000000000), INT64_C(0x0))); - cl_assert_equal_i(result, INT64_C(0x0)); -#endif -} - -void test_core_integer__multiply_int64_overflow(void) -{ -#if !defined(git__multiply_int64_overflow) - int64_t result = 0; - cl_assert(git__multiply_int64_overflow(&result, INT64_C(0x2), INT64_C(0x4000000000000000))); - cl_assert(git__multiply_int64_overflow(&result, INT64_C(0x2), INT64_C(0x7fffffffffffffff))); - cl_assert(git__multiply_int64_overflow(&result, INT64_C(0x2), INT64_C(-0x7fffffffffffffff))); - cl_assert(git__multiply_int64_overflow(&result, INT64_C(0x2), INT64_C(-0x8000000000000000))); - cl_assert(git__multiply_int64_overflow(&result, INT64_C(-0x2), INT64_C(0x7fffffffffffffff))); - cl_assert(git__multiply_int64_overflow(&result, INT64_C(-0x2), INT64_C(-0x7fffffffffffffff))); - cl_assert(git__multiply_int64_overflow(&result, INT64_C(-0x2), INT64_C(-0x8000000000000000))); - cl_assert(git__multiply_int64_overflow(&result, INT64_C(0x7ffffffffffffff), INT64_C(0x7ffffffffffffff))); - cl_assert(git__multiply_int64_overflow(&result, INT64_C(0x7ffffffffffffff), INT64_C(-0x7ffffffffffffff))); - cl_assert(git__multiply_int64_overflow(&result, INT64_C(0x7ffffffffffffff), INT64_C(0x800000000000000))); - cl_assert(git__multiply_int64_overflow(&result, INT64_C(0x7ffffffffffffff), INT64_C(-0x800000000000000))); - cl_assert(git__multiply_int64_overflow(&result, INT64_C(0x7ffffffffffffff), INT64_C(0x7fffffffffffffff))); - cl_assert(git__multiply_int64_overflow(&result, INT64_C(0x7ffffffffffffff), INT64_C(-0x7fffffffffffffff))); - cl_assert(git__multiply_int64_overflow(&result, INT64_C(0x7ffffffffffffff), INT64_C(-0x8000000000000000))); - cl_assert(git__multiply_int64_overflow(&result, INT64_C(-0x7ffffffffffffff), INT64_C(0x7ffffffffffffff))); - cl_assert(git__multiply_int64_overflow(&result, INT64_C(-0x7ffffffffffffff), INT64_C(-0x7ffffffffffffff))); - cl_assert(git__multiply_int64_overflow(&result, INT64_C(-0x7ffffffffffffff), INT64_C(0x800000000000000))); - cl_assert(git__multiply_int64_overflow(&result, INT64_C(-0x7ffffffffffffff), INT64_C(-0x800000000000000))); - cl_assert(git__multiply_int64_overflow(&result, INT64_C(-0x7ffffffffffffff), INT64_C(0x7fffffffffffffff))); - cl_assert(git__multiply_int64_overflow(&result, INT64_C(-0x7ffffffffffffff), INT64_C(-0x7fffffffffffffff))); - cl_assert(git__multiply_int64_overflow(&result, INT64_C(-0x7ffffffffffffff), INT64_C(-0x8000000000000000))); - cl_assert(git__multiply_int64_overflow(&result, INT64_C(0x800000000000000), INT64_C(0x7ffffffffffffff))); - cl_assert(git__multiply_int64_overflow(&result, INT64_C(0x800000000000000), INT64_C(-0x7ffffffffffffff))); - cl_assert(git__multiply_int64_overflow(&result, INT64_C(0x800000000000000), INT64_C(0x800000000000000))); - cl_assert(git__multiply_int64_overflow(&result, INT64_C(0x800000000000000), INT64_C(-0x800000000000000))); - cl_assert(git__multiply_int64_overflow(&result, INT64_C(0x800000000000000), INT64_C(0x7fffffffffffffff))); - cl_assert(git__multiply_int64_overflow(&result, INT64_C(0x800000000000000), INT64_C(-0x7fffffffffffffff))); - cl_assert(git__multiply_int64_overflow(&result, INT64_C(0x800000000000000), INT64_C(-0x8000000000000000))); - cl_assert(git__multiply_int64_overflow(&result, INT64_C(-0x800000000000000), INT64_C(0x7ffffffffffffff))); - cl_assert(git__multiply_int64_overflow(&result, INT64_C(-0x800000000000000), INT64_C(-0x7ffffffffffffff))); - cl_assert(git__multiply_int64_overflow(&result, INT64_C(-0x800000000000000), INT64_C(0x800000000000000))); - cl_assert(git__multiply_int64_overflow(&result, INT64_C(-0x800000000000000), INT64_C(-0x800000000000000))); - cl_assert(git__multiply_int64_overflow(&result, INT64_C(-0x800000000000000), INT64_C(0x7fffffffffffffff))); - cl_assert(git__multiply_int64_overflow(&result, INT64_C(-0x800000000000000), INT64_C(-0x7fffffffffffffff))); - cl_assert(git__multiply_int64_overflow(&result, INT64_C(-0x800000000000000), INT64_C(-0x8000000000000000))); - cl_assert(git__multiply_int64_overflow(&result, INT64_C(0x4000000000000000), INT64_C(0x2))); - cl_assert(git__multiply_int64_overflow(&result, INT64_C(0x7fffffffffffffff), INT64_C(0x2))); - cl_assert(git__multiply_int64_overflow(&result, INT64_C(0x7fffffffffffffff), INT64_C(-0x2))); - cl_assert(git__multiply_int64_overflow(&result, INT64_C(0x7fffffffffffffff), INT64_C(0x7ffffffffffffff))); - cl_assert(git__multiply_int64_overflow(&result, INT64_C(0x7fffffffffffffff), INT64_C(-0x7ffffffffffffff))); - cl_assert(git__multiply_int64_overflow(&result, INT64_C(0x7fffffffffffffff), INT64_C(0x800000000000000))); - cl_assert(git__multiply_int64_overflow(&result, INT64_C(0x7fffffffffffffff), INT64_C(-0x800000000000000))); - cl_assert(git__multiply_int64_overflow(&result, INT64_C(0x7fffffffffffffff), INT64_C(0x7fffffffffffffff))); - cl_assert(git__multiply_int64_overflow(&result, INT64_C(0x7fffffffffffffff), INT64_C(-0x7fffffffffffffff))); - cl_assert(git__multiply_int64_overflow(&result, INT64_C(0x7fffffffffffffff), INT64_C(-0x8000000000000000))); - cl_assert(git__multiply_int64_overflow(&result, INT64_C(-0x7fffffffffffffff), INT64_C(0x2))); - cl_assert(git__multiply_int64_overflow(&result, INT64_C(-0x7fffffffffffffff), INT64_C(-0x2))); - cl_assert(git__multiply_int64_overflow(&result, INT64_C(-0x7fffffffffffffff), INT64_C(0x7ffffffffffffff))); - cl_assert(git__multiply_int64_overflow(&result, INT64_C(-0x7fffffffffffffff), INT64_C(-0x7ffffffffffffff))); - cl_assert(git__multiply_int64_overflow(&result, INT64_C(-0x7fffffffffffffff), INT64_C(0x800000000000000))); - cl_assert(git__multiply_int64_overflow(&result, INT64_C(-0x7fffffffffffffff), INT64_C(-0x800000000000000))); - cl_assert(git__multiply_int64_overflow(&result, INT64_C(-0x7fffffffffffffff), INT64_C(0x7fffffffffffffff))); - cl_assert(git__multiply_int64_overflow(&result, INT64_C(-0x7fffffffffffffff), INT64_C(-0x7fffffffffffffff))); - cl_assert(git__multiply_int64_overflow(&result, INT64_C(-0x7fffffffffffffff), INT64_C(-0x8000000000000000))); - cl_assert(git__multiply_int64_overflow(&result, INT64_C(-0x8000000000000000), INT64_C(0x2))); - cl_assert(git__multiply_int64_overflow(&result, INT64_C(-0x8000000000000000), INT64_C(-0x2))); - cl_assert(git__multiply_int64_overflow(&result, INT64_C(-0x8000000000000000), INT64_C(0x7ffffffffffffff))); - cl_assert(git__multiply_int64_overflow(&result, INT64_C(-0x8000000000000000), INT64_C(-0x7ffffffffffffff))); - cl_assert(git__multiply_int64_overflow(&result, INT64_C(-0x8000000000000000), INT64_C(0x800000000000000))); - cl_assert(git__multiply_int64_overflow(&result, INT64_C(-0x8000000000000000), INT64_C(-0x800000000000000))); - cl_assert(git__multiply_int64_overflow(&result, INT64_C(-0x8000000000000000), INT64_C(0x7fffffffffffffff))); - cl_assert(git__multiply_int64_overflow(&result, INT64_C(-0x8000000000000000), INT64_C(-0x7fffffffffffffff))); - cl_assert(git__multiply_int64_overflow(&result, INT64_C(-0x8000000000000000), INT64_C(-0x8000000000000000))); -#endif -} - -void test_core_integer__multiply_int64_edge_cases(void) -{ -#if !defined(git__multiply_int64_overflow) - int64_t result = 0; - cl_assert(!git__multiply_int64_overflow(&result, INT64_C(-0x8000000000000000), INT64_C(-0x1))); - cl_assert_equal_i(result, INT64_C(-0x8000000000000000)); - cl_assert(!git__multiply_int64_overflow(&result, INT64_C(-0x1), INT64_C(-0x8000000000000000))); - cl_assert_equal_i(result, INT64_C(-0x8000000000000000)); - cl_assert(git__multiply_int64_overflow(&result, INT64_C(0x1), INT64_C(-0x8000000000000000))); - cl_assert(git__multiply_int64_overflow(&result, INT64_C(-0x8000000000000000), INT64_C(0x1))); -#endif -} |