28 #define M_PI 3.14159265358979323846
31 #define FLOATFMT "%.18e"
32 #define FIXEDFMT "%6d"
36 return v < -32767 ? -32767 :
50 int main(
int argc,
char *argv[])
53 int do_sin = argc > 1 && !strcmp(argv[1],
"sin");
54 int fixed = argc > 1 && strstr(argv[1],
"fixed");
55 double (*func)(double) = do_sin ? sin : cos;
57 printf(
"/* This file was automatically generated. */\n");
58 printf(
"#define CONFIG_FFT_FLOAT %d\n", !fixed);
59 printf(
"#include \"libavcodec/%s\"\n", do_sin ?
"rdft.h" :
"fft.h");
60 for (i = 4; i <=
BITS; i++) {
62 double freq = 2*
M_PI/m;
63 printf(
"%s(%i) = {\n ", do_sin ?
"SINTABLE" :
"COSTABLE", m);
64 for (j = 0; j < m/2 - 1; j++) {
65 int idx = j > m/4 ? m/2 - j : j;
66 if (do_sin && j >= m/4)
72 printval(func(do_sin ? -(m/4 - 1)*freq : freq), fixed);