#include #include #include int main() { printf("#ifndef ZRE_TRIG_TABLES_H\n#define ZRE_TRIG_TABLES_H\n#include \n\n"); // Generate SINE table (256 entries, Q16.16 format) printf("const int32_t sin_table[256] = {\n"); for (int i = 0; i < 256; i++) { double angle = i * 2 * M_PI / 256.0; // 0-360° in radians double value = sin(angle) * 65536.0; // Scale to Q16.16 int32_t fixed = (int32_t)(value + 0.5); // Round to nearest printf(" %d,", fixed); if (i % 8 == 7) printf("\n"); } printf("};\n\n"); // Generate COSINE table (256 entries, Q16.16 format) printf("const int32_t cos_table[256] = {\n"); for (int i = 0; i < 256; i++) { double angle = i * 2 * M_PI / 256.0; // 0-360° in radians double value = cos(angle) * 65536.0; // Scale to Q16.16 int32_t fixed = (int32_t)(value + 0.5); // Round to nearest printf(" %d,", fixed); if (i % 8 == 7) printf("\n"); } printf("};\n"); printf("#endif\n"); return 0; }