Back to index

php5  5.3.10
mathmake.c
Go to the documentation of this file.
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 {
00011   int i;
00012   printf ("#define costScale %d\n", scale);
00013   printf ("int cost[] = {\n  ");
00014   for (i = 0; (i <= 90); i++)
00015     {
00016       basis[i] = cos ((double) i * .0174532925) * scale;
00017     }
00018   for (i = 0; (i < 90); i++)
00019     {
00020       printf ("%d,\n  ", cost[i] = basis[i]);
00021     }
00022   for (i = 90; (i < 180); i++)
00023     {
00024       printf ("%d,\n  ", cost[i] = -basis[180 - i]);
00025     }
00026   for (i = 180; (i < 270); i++)
00027     {
00028       printf ("%d,\n  ", cost[i] = -basis[i - 180]);
00029     }
00030   for (i = 270; (i < 359); i++)
00031     {
00032       printf ("%d,\n  ", cost[i] = basis[360 - i]);
00033     }
00034   printf ("%d\n", cost[359] = basis[1]);
00035   printf ("};\n");
00036   printf ("#define sintScale %d\n", scale);
00037   printf ("int sint[] = {\n  ");
00038   for (i = 0; (i < 360); i++)
00039     {
00040       int val;
00041       val = cost[(i + 270) % 360];
00042       if (i != 359)
00043        {
00044          printf ("%d,\n  ", val);
00045        }
00046       else
00047        {
00048          printf ("%d\n", val);
00049        }
00050     }
00051   printf ("};\n");
00052 }