mirror of git://sourceware.org/git/glibc.git
				
				
				
			
		
			
				
	
	
		
			32 lines
		
	
	
		
			995 B
		
	
	
	
		
			C
		
	
	
	
			
		
		
	
	
			32 lines
		
	
	
		
			995 B
		
	
	
	
		
			C
		
	
	
	
| #include <gmp.h>
 | |
| 
 | |
| 
 | |
| /* Definitions according to limb size used.  */
 | |
| #if	BITS_PER_MP_LIMB == 32
 | |
| # define MAX_DIG_PER_LIMB	9
 | |
| # define MAX_FAC_PER_LIMB	1000000000UL
 | |
| #elif	BITS_PER_MP_LIMB == 64
 | |
| # define MAX_DIG_PER_LIMB	19
 | |
| # define MAX_FAC_PER_LIMB	10000000000000000000ULL
 | |
| #else
 | |
| # error "mp_limb_t size " BITS_PER_MP_LIMB "not accounted for"
 | |
| #endif
 | |
| 
 | |
| 
 | |
| /* Local data structure.  */
 | |
| const mp_limb_t _tens_in_limb[MAX_DIG_PER_LIMB + 1] =
 | |
| {    0,                   10,                   100,
 | |
|      1000,                10000,                100000L,
 | |
|      1000000L,            10000000L,            100000000L,
 | |
|      1000000000L
 | |
| #if BITS_PER_MP_LIMB > 32
 | |
| 	        ,	  10000000000ULL,       100000000000ULL,
 | |
|      1000000000000ULL,    10000000000000ULL,    100000000000000ULL,
 | |
|      1000000000000000ULL, 10000000000000000ULL, 100000000000000000ULL,
 | |
|      1000000000000000000ULL, 10000000000000000000ULL
 | |
| #endif
 | |
| #if BITS_PER_MP_LIMB > 64
 | |
|   #error "Need to expand tens_in_limb table to" MAX_DIG_PER_LIMB
 | |
| #endif
 | |
| };
 |