home *** CD-ROM | disk | FTP | other *** search
- #include <stdio.h>
-
- #define SPREC 11
- #define APREC 11
-
- main()
- {
- FILE *fp = fdopen(creat("arch.h", 0644), "w");
- double a,
- pi,
- pib2,
- pib4,
- atan(),
- atan2(),
- sin();
- int sz = 0;
-
- fprintf(fp, "#define PIB4\t%20.17f\n", pib4 = atan(1.));
- fprintf(fp, "#define PIB2\t%20.17f\n", pib2 = 2. * pib4);
- fprintf(fp, "#define PI\t%20.17f\n", pi = 4. * pib4);
- fprintf(fp, "#define TBPI\t%20.17f\n", 1. / pib2);
-
- fprintf(fp, "static float st[] = {\n");
- for (sz = 0; sz < (1 << SPREC); fprintf(fp, ",\n"), ++sz) {
- a = pib2 * ((double)sz / (double)((1 << SPREC) - 1));
- fprintf(fp, "\t%10.8f", sin(a));
- }
- fprintf(fp, "};\n#define ST\t%d\n", sz);
- fprintf(fp, "#define MMAS\t0%o\n", sz - 1);
- fprintf(fp, "static float at[] = {\n");
- for (sz = 0; sz < (1 << APREC); fprintf(fp, ",\n"), ++sz) {
- a = ((double)sz / (double)((1 << APREC) - 1));
- fprintf(fp, "\t%10.8f", atan(a));
- }
- fprintf(fp, "\t%10.8f", atan(1.));
- fprintf(fp, "};\n#define AT\t%d\n", sz);
- }
-