#ifndef __HWINT_H__
#define __HWINT_H__
#if defined (HOST_BITS_PER_LONG) && defined (HOST_BITS_PER_INT)
#ifndef HOST_BITS_PER_WIDE_INT
# if HOST_BITS_PER_LONG > HOST_BITS_PER_INT
# define HOST_BITS_PER_WIDE_INT HOST_BITS_PER_LONG
# define HOST_WIDE_INT long
# else
# define HOST_BITS_PER_WIDE_INT HOST_BITS_PER_INT
# define HOST_WIDE_INT int
# endif
#endif
#ifndef HOST_WIDE_INT_PRINT_DEC
# if HOST_BITS_PER_WIDE_INT == HOST_BITS_PER_INT
# define HOST_WIDE_INT_PRINT_DEC "%d"
# else
# if HOST_BITS_PER_WIDE_INT == HOST_BITS_PER_LONG
# define HOST_WIDE_INT_PRINT_DEC "%ld"
# else
# define HOST_WIDE_INT_PRINT_DEC "%lld"
# endif
# endif
#endif
#ifndef HOST_WIDE_INT_PRINT_UNSIGNED
# if HOST_BITS_PER_WIDE_INT == HOST_BITS_PER_INT
# define HOST_WIDE_INT_PRINT_UNSIGNED "%u"
# else
# if HOST_BITS_PER_WIDE_INT == HOST_BITS_PER_LONG
# define HOST_WIDE_INT_PRINT_UNSIGNED "%lu"
# else
# define HOST_WIDE_INT_PRINT_UNSIGNED "%llu"
# endif
# endif
#endif
#ifndef HOST_WIDE_INT_PRINT_HEX
# if HOST_BITS_PER_WIDE_INT == HOST_BITS_PER_INT
# define HOST_WIDE_INT_PRINT_HEX "0x%x"
# else
# if HOST_BITS_PER_WIDE_INT == HOST_BITS_PER_LONG
# define HOST_WIDE_INT_PRINT_HEX "0x%lx"
# else
# define HOST_WIDE_INT_PRINT_HEX "0x%llx"
# endif
# endif
#endif
#ifndef HOST_WIDE_INT_PRINT_DOUBLE_HEX
# if HOST_BITS_PER_WIDE_INT == 64
# if HOST_BITS_PER_WIDE_INT == HOST_BITS_PER_INT
# define HOST_WIDE_INT_PRINT_DOUBLE_HEX "0x%x%016x"
# else
# if HOST_BITS_PER_WIDE_INT == HOST_BITS_PER_LONG
# define HOST_WIDE_INT_PRINT_DOUBLE_HEX "0x%lx%016lx"
# else
# define HOST_WIDE_INT_PRINT_DOUBLE_HEX "0x%llx%016llx"
# endif
# endif
# else
# if HOST_BITS_PER_WIDE_INT == HOST_BITS_PER_INT
# define HOST_WIDE_INT_PRINT_DOUBLE_HEX "0x%x%08x"
# else
# if HOST_BITS_PER_WIDE_INT == HOST_BITS_PER_LONG
# define HOST_WIDE_INT_PRINT_DOUBLE_HEX "0x%lx%08lx"
# else
# define HOST_WIDE_INT_PRINT_DOUBLE_HEX "0x%llx%08llx"
# endif
# endif
# endif
#endif
#endif
#endif