static unsigned long number_hash(void *ptr) { if (heim_base_is_tagged_object(ptr)) return heim_base_tagged_object_value(ptr); return (unsigned long)*(int *)ptr; }
int heim_number_get_int(heim_number_t number) { if (heim_base_is_tagged_object(number)) return (int)heim_base_tagged_object_value(number); return *(int *)number; }
static int number_cmp(void *a, void *b) { int na, nb; if (heim_base_is_tagged_object(a)) na = heim_base_tagged_object_value(a); else na = *(int *)a; if (heim_base_is_tagged_object(b)) nb = heim_base_tagged_object_value(b); else nb = *(int *)b; return na - nb; }
int heim_bool_val(heim_bool_t ptr) { return heim_base_tagged_object_value(ptr); }