xref: /netbsd-src/external/gpl3/gcc.old/dist/libquadmath/strtod/tens_in_limb.c (revision 627f7eb200a4419d89b531d55fccd2ee3ffdcde0)
1 #include <config.h>
2 #include "../printf/gmp-impl.h"
3 
4 
5 /* Definitions according to limb size used.  */
6 #if	BITS_PER_MP_LIMB == 32
7 # define MAX_DIG_PER_LIMB	9
8 # define MAX_FAC_PER_LIMB	1000000000UL
9 #elif	BITS_PER_MP_LIMB == 64
10 # define MAX_DIG_PER_LIMB	19
11 # define MAX_FAC_PER_LIMB	10000000000000000000ULL
12 #else
13 # error "mp_limb_t size " BITS_PER_MP_LIMB "not accounted for"
14 #endif
15 
16 
17 /* Local data structure.  */
18 const mp_limb_t __quadmath_tens_in_limb[MAX_DIG_PER_LIMB + 1] attribute_hidden
19 =
20 {    0,                   10,                   100,
21      1000,                10000,                100000L,
22      1000000L,            10000000L,            100000000L,
23      1000000000L
24 #if BITS_PER_MP_LIMB > 32
25 	        ,	  10000000000ULL,       100000000000ULL,
26      1000000000000ULL,    10000000000000ULL,    100000000000000ULL,
27      1000000000000000ULL, 10000000000000000ULL, 100000000000000000ULL,
28      1000000000000000000ULL, 10000000000000000000ULL
29 #endif
30 #if BITS_PER_MP_LIMB > 64
31   #error "Need to expand tens_in_limb table to" MAX_DIG_PER_LIMB
32 #endif
33 };
34