File: mfrom_table_gen.c

package info (click to toggle)
qemu 1.1.2%2Bdfsg-6a%2Bdeb7u12
  • links: PTS, VCS
  • area: main
  • in suites: wheezy
  • size: 44,200 kB
  • sloc: ansic: 603,655; asm: 10,184; sh: 6,663; perl: 4,223; python: 3,802; makefile: 1,089; objc: 843; xml: 409
file content (33 lines) | stat: -rw-r--r-- 653 bytes parent folder | download | duplicates (7)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#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;
}