Может быть, вы должны просто напечатать их как поплавки.
#define ASSERT_EQUALS(a, b) \
do { \
if ((a)!=(b)) { \
printf(". ASSERT_EQUALS (%s:%d) %f!=%f\n",__FUNCTION__,__LINE__,(float)(a),(float)(b)); \
} \
} while (0)
Это выглядит плохо с целыми числами, например, 1
будет отображаться как 1.00000
, но это будет работать для обоих типов.