summaryrefslogtreecommitdiffstats
path: root/target-ppc/mfrom_table_gen.c
blob: a140ded47a93bccc0dca5a628da817d349d54bc0 (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
#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;
}