+ {
+
+#if UINT_MAX >> 15 == 1
+#define _PDCLIB_UINT_DIG 5
+#define _PDCLIB_INT_DIG 5
+#define _PDCLIB_INT_HEXDIG FFFF
+#define _PDCLIB_INT_hexdig ffff
+#define _PDCLIB_INT_OCTDIG 177777
+#elif UINT_MAX >> 31 == 1
+#define _PDCLIB_UINT_DIG 10
+#define _PDCLIB_INT_DIG 10
+#define _PDCLIB_INT_HEXDIG FFFFFFFF
+#define _PDCLIB_INT_hexdig ffffffff
+#define _PDCLIB_INT_OCTDIG 37777777777
+#elif UINT_MAX >> 63 == 1
+#define _PDCLIB_UINT_DIG 20
+#define _PDCLIB_INT_DIG 19
+#define _PDCLIB_INT_HEXDIG FFFFFFFFFFFFFFFF
+#define _PDCLIB_INT_hexdig ffffffffffffffff
+#define _PDCLIB_INT_OCTDIG 1777777777777777777777
+#else
+#error Unsupported width of 'int' (neither 16, 32, nor 64 bit).
+#endif
+
+#if ULONG_MAX >> 31 == 1
+#define _PDCLIB_ULONG_DIG 10
+#define _PDCLIB_LONG_DIG 10
+#elif ULONG_MAX >> 63 == 1
+#define _PDCLIB_ULONG_DIG 20
+#define _PDCLIB_LONG_DIG 19
+#else
+#error Unsupported width of 'long' (neither 32 nor 64 bit).
+#endif
+
+#if ULLONG_MAX >> 63 == 1
+#define _PDCLIB_ULLONG_DIG 20
+#define _PDCLIB_LLONG_DIG 19
+#elif ULLONG_MAX >> 127 == 1
+#define _PDCLIB_ULLONG_DIG 38
+#define _PDCLIB_LLONG_DIG 38
+#else
+#error Unsupported width of 'long long' (neither 64 nor 128 bit).
+#endif
+