#!/usr/bin/perl $handle = STDOUT; print $handle < const fx16 FX_SinCosTable_[4096 * 2] = { ENDDOC for ($i = 0; $i < 4096; ++$i) { my $deg = $i * 360 / 4096.0; my $valsin = sprintf("%.0f", sin($i * 6.28318530717958647692 / 4096.0) * 4096.0); my $valcos = sprintf("%.0f", cos($i * 6.28318530717958647692 / 4096.0) * 4096.0); if ($i == 4095) { printf $handle " (fx16)0x%04x, (fx16)0x%04x // %.3f, %.3f ( deg = %f )\n", ($valsin & 0xffff), ($valcos & 0xffff), ($valsin / 4096.0), ($valcos / 4096.0), $deg; } else { printf $handle " (fx16)0x%04x, (fx16)0x%04x, // %.3f, %.3f ( deg = %f )\n", ($valsin & 0xffff), ($valcos & 0xffff), ($valsin / 4096.0), ($valcos / 4096.0), $deg; } } print $handle "};\n";