--- a/src/compare.c Sat Nov 26 16:58:41 2022 +0100 +++ b/src/compare.c Wed Dec 07 20:11:44 2022 +0100 @@ -161,9 +161,12 @@ } } -int cx_cmp_double(void const *d1, void const *d2) { - double a = *((const double*) d1); - double b = *((const double*) d2); +int cx_cmp_double( + void const *d1, + void const *d2 +) { + double a = *((const double *) d1); + double b = *((const double *) d2); if (fabs(a - b) < 1e-14) { return 0; } else { @@ -171,12 +174,29 @@ } } -int cx_cmp_ptr(void const *ptr1, void const *ptr2) { - const intptr_t p1 = (const intptr_t) ptr1; - const intptr_t p2 = (const intptr_t) ptr2; +int cx_cmp_intptr( + void const *ptr1, + void const *ptr2 +) { + intptr_t p1 = *(const intptr_t *) ptr1; + intptr_t p2 = *(const intptr_t *) ptr2; if (p1 == p2) { return 0; } else { - return p1 < p2 ? -1 : 1; + return p1 < p2 ? -1 : 1; } } + +int cx_cmp_uintptr( + void const *ptr1, + void const *ptr2 +) { + uintptr_t p1 = *(const uintptr_t *) ptr1; + uintptr_t p2 = *(const uintptr_t *) ptr2; + if (p1 == p2) { + return 0; + } else { + return p1 < p2 ? -1 : 1; + } +} +