type_max
static const type type_max = (type)DTYPE_MAX;
#define INRANGE(x) (dtype_max - type_max != 0.5 || \
(x) > type_max(T) : \
(x) < 0 || (x) > type_max(T) : \
(x) < type_min(T) || (x) > type_max(T))
#define __type_min(T) ((T)((T)-type_max(T)-(T)1))
uint64_t type_max;
type_max = (uint64_t)UINT8_MAX;
type_max = (uint64_t)UINT16_MAX;
type_max = (uint64_t)UINT32_MAX;
type_max = (uint64_t)UINT64_MAX;
type_max = (uint64_t)UINT8_MAX;
type_max = -(uint64_t)INT8_MIN;
type_max = (uint64_t)INT8_MAX;
type_max = (uint64_t)UINT16_MAX;
type_max = -(uint64_t)INT16_MIN;
type_max = (uint64_t)INT16_MAX;
type_max = (uint64_t)UINT32_MAX;
type_max = -(uint64_t)INT32_MIN;
type_max = (uint64_t)INT32_MAX;
type_max = (uint64_t)UINT64_MAX;
type_max = -(uint64_t)INT64_MIN;
type_max = (uint64_t)INT64_MAX;
value_max = type_max / (uint64_t)base;
carry_max = type_max % (uint64_t)base;
type_max(typeof(*_to)), NULL); \
type_max(typeof(*_to)), &_def_val); \