+/* Here we assume a standard architecture where the hardware integer
+ types have 8, 16, 32, optionally 64 bits. Therefore the fastN_t types
+ are taken from the same list of types. */
+
+#if @HAVE_INT_FAST8_T@
+# ifndef INT_FAST8_MIN
+# define INT_FAST8_MIN (-1L << (@BITSIZEOF_INT_FAST8_T@ - 1))
+# endif
+#else
+# if _STDINT_H_INT64_FASTER_THAN_INT32
+# define INT_FAST8_MIN INT64_MIN
+# else
+# define INT_FAST8_MIN INT32_MIN
+# endif
+#endif
+#if @HAVE_INT_FAST8_T@
+# ifndef INT_FAST8_MAX
+# define INT_FAST8_MAX (~ (-1L << (@BITSIZEOF_INT_FAST8_T@ - 1)))
+# endif
+#else
+# if _STDINT_H_INT64_FASTER_THAN_INT32
+# define INT_FAST8_MAX INT64_MAX
+# else
+# define INT_FAST8_MAX INT32_MAX
+# endif
+#endif
+#if @HAVE_UINT_FAST8_T@
+# ifndef UINT_FAST8_MAX
+# if @BITSIZEOF_UINT_FAST8_T@ < @BITSIZEOF_UNSIGNED_INT@
+# define UINT_FAST8_MAX (((1 << (@BITSIZEOF_UINT_FAST8_T@ - 1)) - 1) * 2 + 1)
+# else
+# define UINT_FAST8_MAX (((1UL << (@BITSIZEOF_UINT_FAST8_T@ - 1)) - 1) * 2 + 1)
+# endif
+# endif
+#else
+# if _STDINT_H_INT64_FASTER_THAN_INT32
+# define UINT_FAST8_MAX UINT64_MAX
+# else
+# define UINT_FAST8_MAX UINT32_MAX
+# endif
+#endif
+
+#if @HAVE_INT_FAST16_T@
+# ifndef INT_FAST16_MIN
+# define INT_FAST16_MIN (-1L << (@BITSIZEOF_INT_FAST16_T@ - 1))
+# endif
+#else
+# if _STDINT_H_INT64_FASTER_THAN_INT32
+# define INT_FAST16_MIN INT64_MIN
+# else
+# define INT_FAST16_MIN INT32_MIN
+# endif
+#endif
+#if @HAVE_INT_FAST16_T@
+# ifndef INT_FAST16_MAX
+# define INT_FAST16_MAX (~ (-1L << (@BITSIZEOF_INT_FAST16_T@ - 1)))
+# endif
+#else
+# if _STDINT_H_INT64_FASTER_THAN_INT32
+# define INT_FAST16_MAX INT64_MAX
+# else
+# define INT_FAST16_MAX INT32_MAX
+# endif
+#endif
+#if @HAVE_UINT_FAST16_T@
+# ifndef UINT_FAST16_MAX
+# if @BITSIZEOF_UINT_FAST16_T@ < @BITSIZEOF_UNSIGNED_INT@
+# define UINT_FAST16_MAX (((1 << (@BITSIZEOF_UINT_FAST16_T@ - 1)) - 1) * 2 + 1)
+# else
+# define UINT_FAST16_MAX (((1UL << (@BITSIZEOF_UINT_FAST16_T@ - 1)) - 1) * 2 + 1)
+# endif
+# endif
+#else
+# if _STDINT_H_INT64_FASTER_THAN_INT32
+# define UINT_FAST16_MAX UINT64_MAX
+# else
+# define UINT_FAST16_MAX UINT32_MAX
+# endif
+#endif
+
+#if @HAVE_INT_FAST32_T@
+# ifndef INT_FAST32_MIN
+# define INT_FAST32_MIN (-1L << (@BITSIZEOF_INT_FAST32_T@ - 1))
+# endif
+#else
+# if _STDINT_H_INT64_FASTER_THAN_INT32
+# define INT_FAST32_MIN INT64_MIN
+# else
+# define INT_FAST32_MIN INT32_MIN
+# endif
+#endif
+#if @HAVE_INT_FAST32_T@
+# ifndef INT_FAST32_MAX
+# define INT_FAST32_MAX (~ (-1L << (@BITSIZEOF_INT_FAST32_T@ - 1)))
+# endif
+#else
+# if _STDINT_H_INT64_FASTER_THAN_INT32
+# define INT_FAST32_MAX INT64_MAX
+# else
+# define INT_FAST32_MAX INT32_MAX
+# endif
+#endif
+#if @HAVE_UINT_FAST32_T@
+# ifndef UINT_FAST32_MAX
+# if @BITSIZEOF_UINT_FAST32_T@ < @BITSIZEOF_UNSIGNED_INT@
+# define UINT_FAST32_MAX (((1 << (@BITSIZEOF_UINT_FAST32_T@ - 1)) - 1) * 2 + 1)
+# else
+# define UINT_FAST32_MAX (((1UL << (@BITSIZEOF_UINT_FAST32_T@ - 1)) - 1) * 2 + 1)
+# endif
+# endif
+#else
+# if _STDINT_H_INT64_FASTER_THAN_INT32
+# define UINT_FAST32_MAX UINT64_MAX
+# else
+# define UINT_FAST32_MAX UINT32_MAX
+# endif
+#endif
+
+#if @HAVE_INT_FAST64_T@
+# ifndef INT_FAST64_MIN
+# if @HAVE_LONG_64BIT@
+# define INT_FAST64_MIN (-1L << (@BITSIZEOF_INT_FAST64_T@ - 1))
+# elif @HAVE_LONG_LONG_64BIT@
+# define INT_FAST64_MIN (-1LL << (@BITSIZEOF_INT_FAST64_T@ - 1))
+# elif defined _MSC_VER
+# define INT_FAST64_MIN (-1i64 << (@BITSIZEOF_INT_FAST64_T@ - 1))
+# endif
+# endif
+#else
+# ifdef _STDINT_H_HAVE_INT64
+# define INT_FAST64_MIN INT64_MIN
+# endif
+#endif
+#if @HAVE_INT_FAST64_T@
+# ifndef INT_FAST64_MAX
+# if @HAVE_LONG_64BIT@
+# define INT_FAST64_MAX (~ (-1L << (@BITSIZEOF_INT_FAST64_T@ - 1)))
+# elif @HAVE_LONG_LONG_64BIT@
+# define INT_FAST64_MAX (~ (-1LL << (@BITSIZEOF_INT_FAST64_T@ - 1)))
+# elif defined _MSC_VER
+# define INT_FAST64_MAX (~ (-1i64 << (@BITSIZEOF_INT_FAST64_T@ - 1)))
+# endif
+# endif
+#else
+# ifdef _STDINT_H_HAVE_INT64
+# define INT_FAST64_MAX INT64_MAX
+# endif
+#endif
+#if @HAVE_UINT_FAST64_T@
+# ifndef UINT_FAST64_MAX
+# if @HAVE_LONG_64BIT@
+# define UINT_FAST64_MAX (((1UL << (@BITSIZEOF_UINT_FAST64_T@ - 1)) - 1) * 2 + 1)
+# elif @HAVE_LONG_LONG_64BIT@
+# define UINT_FAST64_MAX (((1ULL << (@BITSIZEOF_UINT_FAST64_T@ - 1)) - 1) * 2 + 1)
+# elif defined _MSC_VER
+# define UINT_FAST64_MAX (((1ui64 << (@BITSIZEOF_UINT_FAST64_T@ - 1)) - 1) * 2 + 1)
+# endif
+# endif
+#else
+# ifdef _STDINT_H_HAVE_UINT64
+# define UINT_FAST64_MAX UINT64_MAX
+# endif