summaryrefslogtreecommitdiffstats
path: root/target/ppc/mfrom_table_gen.c
blob: f96c4268ba7043466a66e87d4180571252ac47d1 (plain) (blame)
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
34
#define _GNU_SOURCE
#include "qemu/osdep.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;
}