bool is_type_integer(const type_t *type) { assert(!is_typeref(type)); if (!is_type_arithmetic(type)) return false; return test_atomic_type_flag(type->atomic.akind, ATOMIC_TYPE_FLAG_INTEGER); }
bool is_type_signed(const type_t *type) { assert(!is_typeref(type)); if (!is_type_arithmetic(type)) return false; return test_atomic_type_flag(type->atomic.akind, ATOMIC_TYPE_FLAG_SIGNED); }
bool is_type_scalar(const type_t *type) { assert(!is_typeref(type)); if (type->kind == TYPE_POINTER) return true; return is_type_arithmetic(type); }