00001 #include <stdio.h>
00002 #include <math.h>
00003
00004 #define scale 1024
00005
00006 int basis[91];
00007 int cost[360];
00008
00009 main(void) {
00010 int i;
00011 printf("#define costScale %d\n", scale);
00012 printf("int cost[] = {\n ");
00013 for (i=0; (i <= 90); i++) {
00014 basis[i] = cos((double)i * .0174532925) * scale;
00015 }
00016 for (i=0; (i < 90); i++) {
00017 printf("%d,\n ", cost[i] = basis[i]);
00018 }
00019 for (i=90; (i < 180); i++) {
00020 printf("%d,\n ", cost[i] = -basis[180-i]);
00021 }
00022 for (i=180; (i < 270); i++) {
00023 printf("%d,\n ", cost[i] = -basis[i-180]);
00024 }
00025 for (i=270; (i < 359); i++) {
00026 printf("%d,\n ", cost[i] = basis[360-i]);
00027 }
00028 printf("%d\n", cost[359] = basis[1]);
00029 printf("};\n");
00030 printf("#define sintScale %d\n", scale);
00031 printf("int sint[] = {\n ");
00032 for (i=0; (i<360); i++) {
00033 int val;
00034 val = cost[(i + 270) % 360];
00035 if (i != 359) {
00036 printf("%d,\n ", val);
00037 } else {
00038 printf("%d\n", val);
00039 }
00040 }
00041 printf("};\n");
00042 }
00043