 4abf79a428
			
		
	
	
		4abf79a428
		
	
	
	
	
		
			
			Cc: Richard Henderson <rth@twiddle.net> Cc: Edgar E. Iglesias <edgar.iglesias@gmail.com> Cc: Aurelien Jarno <aurelien@aurel32.net> Cc: Alexander Graf <agraf@suse.de> Cc: Aurelien Jarno <aurelien@aurel32.net> Cc: Blue Swirl <blauwirbel@gmail.com> Signed-off-by: Dong Xu Wang <wdongxu@linux.vnet.ibm.com> Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
		
			
				
	
	
		
			34 lines
		
	
	
		
			653 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			34 lines
		
	
	
		
			653 B
		
	
	
	
		
			C
		
	
	
	
	
	
| #define _GNU_SOURCE
 | |
| #include <stdint.h>
 | |
| #include <stdio.h>
 | |
| #include <math.h>
 | |
| 
 | |
| int main (void)
 | |
| {
 | |
|     double d;
 | |
|     uint8_t n;
 | |
|     int i;
 | |
| 
 | |
|     printf("static const uint8_t mfrom_ROM_table[602] =\n{\n    ");
 | |
|     for (i = 0; i < 602; i++) {
 | |
|         /* Extremely decomposed:
 | |
|          *                    -T0 / 256
 | |
|          * T0 = 256 * log10(10          + 1.0) + 0.5
 | |
|          */
 | |
|         d = -i;
 | |
|         d /= 256.0;
 | |
|         d = exp10(d);
 | |
|         d += 1.0;
 | |
|         d = log10(d);
 | |
|         d *= 256;
 | |
|         d += 0.5;
 | |
|         n = d;
 | |
|         printf("%3d, ", n);
 | |
|         if ((i & 7) == 7)
 | |
|             printf("\n    ");
 | |
|     }
 | |
|     printf("\n};\n");
 | |
| 
 | |
|     return 0;
 | |
| }
 |