#include <stdbool.h>
#include <stdint.h>
#include <inttypes.h>
// http://stackoverflow.com/questions/7469915
#define IS_UNSIGNED(v) (v >= 0 && ~v >= 0)
#define F(v) f(IS_UNSIGNED(v), v, v)
void f (bool is_unsigned, intmax_t s, uintmax_t u)
{
if (is_unsigned)
{
printf("%d %" PRIuMAX
"\n", is_unsigned
, u
); }
else
{
printf("%d %" PRIdMAX
"\n", is_unsigned
, s
); }
}
int main (void)
{
F(INTMAX_MAX);
F(UINTMAX_MAX);
return 0;
}
I2luY2x1ZGUgPHN0ZGJvb2wuaD4KI2luY2x1ZGUgPHN0ZGludC5oPgojaW5jbHVkZSA8aW50dHlwZXMuaD4KCi8vIGh0dHA6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvNzQ2OTkxNQojZGVmaW5lIElTX1VOU0lHTkVEKHYpICh2ID49IDAgJiYgfnYgPj0gMCkKCiNkZWZpbmUgRih2KSBmKElTX1VOU0lHTkVEKHYpLCB2LCB2KQoKdm9pZCBmIChib29sIGlzX3Vuc2lnbmVkLCBpbnRtYXhfdCBzLCB1aW50bWF4X3QgdSkKewoJaWYgKGlzX3Vuc2lnbmVkKQoJewoJCXByaW50ZigiJWQgJSIgUFJJdU1BWCAiXG4iLCBpc191bnNpZ25lZCwgdSk7Cgl9CgllbHNlCgl7CgkJcHJpbnRmKCIlZCAlIiBQUklkTUFYICJcbiIsIGlzX3Vuc2lnbmVkLCBzKTsKCX0KfQoKaW50IG1haW4gKHZvaWQpCnsKCUYoSU5UTUFYX01BWCk7CglGKFVJTlRNQVhfTUFYKTsKCglyZXR1cm4gMDsKfQ==