mfrom_table_gen.c (660B)
1#define _GNU_SOURCE 2#include "qemu/osdep.h" 3#include <math.h> 4 5int main(void) 6{ 7 double d; 8 uint8_t n; 9 int i; 10 11 printf("static const uint8_t mfrom_ROM_table[602] =\n{\n "); 12 for (i = 0; i < 602; i++) { 13 /* 14 * Extremely decomposed: 15 * -T0 / 256 16 * T0 = 256 * log10(10 + 1.0) + 0.5 17 */ 18 d = -i; 19 d /= 256.0; 20 d = exp10(d); 21 d += 1.0; 22 d = log10(d); 23 d *= 256; 24 d += 0.5; 25 n = d; 26 printf("%3d, ", n); 27 if ((i & 7) == 7) { 28 printf("\n "); 29 } 30 } 31 printf("\n};\n"); 32 33 return 0; 34}