Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
110 lines
6.9 KiB
SQL
110 lines
6.9 KiB
SQL
// ██▀▀█▀▀██▀▀▀▀▀▀▀█▀▀█ ▄▄ ▄▄
|
|
// ██ ▀ █▄ ▀██▄ ▀ ▄█ ▄█▄█ ▄▀██ ██▀ ██▄
|
|
// █ █ █ ▀▀ ▄█ █ █ ██ █ ▀▄██ ▀█▄▄ ██ █
|
|
// ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
|
|
// ─────────────────────────────────────────────────────────────────────────────
|
|
// MSXmath 1.8.2 by Guillaume "Aoineko" Blanchard
|
|
// under CC-BY-SA free license
|
|
//
|
|
// Parameters: Entries=360, Bytes=2 (16-bits), Shift=12 (Q4.12)
|
|
// ─────────────────────────────────────────────────────────────────────────────
|
|
|
|
// Sinus table. Range [0:Pi*2[
|
|
const unsigned short g_Sinus360[] = {
|
|
0x0000, 0x0047, 0x008F, 0x00D6, 0x011E, 0x0165, 0x01AC, 0x01F3,
|
|
0x023A, 0x0281, 0x02C7, 0x030E, 0x0354, 0x0399, 0x03DF, 0x0424,
|
|
0x0469, 0x04AE, 0x04F2, 0x0536, 0x0579, 0x05BC, 0x05FE, 0x0640,
|
|
0x0682, 0x06C3, 0x0704, 0x0744, 0x0783, 0x07C2, 0x0800, 0x083E,
|
|
0x087B, 0x08B7, 0x08F2, 0x092D, 0x0968, 0x09A1, 0x09DA, 0x0A12,
|
|
0x0A49, 0x0A7F, 0x0AB5, 0x0AE9, 0x0B1D, 0x0B50, 0x0B82, 0x0BB4,
|
|
0x0BE4, 0x0C13, 0x0C42, 0x0C6F, 0x0C9C, 0x0CC7, 0x0CF2, 0x0D1B,
|
|
0x0D44, 0x0D6B, 0x0D92, 0x0DB7, 0x0DDB, 0x0DFE, 0x0E21, 0x0E42,
|
|
0x0E61, 0x0E80, 0x0E9E, 0x0EBA, 0x0ED6, 0x0EF0, 0x0F09, 0x0F21,
|
|
0x0F38, 0x0F4D, 0x0F61, 0x0F74, 0x0F86, 0x0F97, 0x0FA6, 0x0FB5,
|
|
0x0FC2, 0x0FCE, 0x0FD8, 0x0FE1, 0x0FEA, 0x0FF0, 0x0FF6, 0x0FFA,
|
|
0x0FFE, 0x0FFF, 0x1000, 0x0FFF, 0x0FFE, 0x0FFA, 0x0FF6, 0x0FF0,
|
|
0x0FEA, 0x0FE1, 0x0FD8, 0x0FCE, 0x0FC2, 0x0FB5, 0x0FA6, 0x0F97,
|
|
0x0F86, 0x0F74, 0x0F61, 0x0F4D, 0x0F38, 0x0F21, 0x0F09, 0x0EF0,
|
|
0x0ED6, 0x0EBA, 0x0E9E, 0x0E80, 0x0E61, 0x0E42, 0x0E21, 0x0DFE,
|
|
0x0DDB, 0x0DB7, 0x0D92, 0x0D6B, 0x0D44, 0x0D1B, 0x0CF2, 0x0CC7,
|
|
0x0C9C, 0x0C6F, 0x0C42, 0x0C13, 0x0BE4, 0x0BB4, 0x0B82, 0x0B50,
|
|
0x0B1D, 0x0AE9, 0x0AB5, 0x0A7F, 0x0A49, 0x0A12, 0x09DA, 0x09A1,
|
|
0x0968, 0x092D, 0x08F2, 0x08B7, 0x087B, 0x083E, 0x0800, 0x07C2,
|
|
0x0783, 0x0744, 0x0704, 0x06C3, 0x0682, 0x0640, 0x05FE, 0x05BC,
|
|
0x0579, 0x0536, 0x04F2, 0x04AE, 0x0469, 0x0424, 0x03DF, 0x0399,
|
|
0x0354, 0x030E, 0x02C7, 0x0281, 0x023A, 0x01F3, 0x01AC, 0x0165,
|
|
0x011E, 0x00D6, 0x008F, 0x0047, 0x0000, 0xFFB9, 0xFF71, 0xFF2A,
|
|
0xFEE2, 0xFE9B, 0xFE54, 0xFE0D, 0xFDC6, 0xFD7F, 0xFD39, 0xFCF2,
|
|
0xFCAC, 0xFC67, 0xFC21, 0xFBDC, 0xFB97, 0xFB52, 0xFB0E, 0xFACA,
|
|
0xFA87, 0xFA44, 0xFA02, 0xF9C0, 0xF97E, 0xF93D, 0xF8FC, 0xF8BC,
|
|
0xF87D, 0xF83E, 0xF800, 0xF7C2, 0xF785, 0xF749, 0xF70E, 0xF6D3,
|
|
0xF698, 0xF65F, 0xF626, 0xF5EE, 0xF5B7, 0xF581, 0xF54B, 0xF517,
|
|
0xF4E3, 0xF4B0, 0xF47E, 0xF44C, 0xF41C, 0xF3ED, 0xF3BE, 0xF391,
|
|
0xF364, 0xF339, 0xF30E, 0xF2E5, 0xF2BC, 0xF295, 0xF26E, 0xF249,
|
|
0xF225, 0xF202, 0xF1DF, 0xF1BE, 0xF19F, 0xF180, 0xF162, 0xF146,
|
|
0xF12A, 0xF110, 0xF0F7, 0xF0DF, 0xF0C8, 0xF0B3, 0xF09F, 0xF08C,
|
|
0xF07A, 0xF069, 0xF05A, 0xF04B, 0xF03E, 0xF032, 0xF028, 0xF01F,
|
|
0xF016, 0xF010, 0xF00A, 0xF006, 0xF002, 0xF001, 0xF000, 0xF001,
|
|
0xF002, 0xF006, 0xF00A, 0xF010, 0xF016, 0xF01F, 0xF028, 0xF032,
|
|
0xF03E, 0xF04B, 0xF05A, 0xF069, 0xF07A, 0xF08C, 0xF09F, 0xF0B3,
|
|
0xF0C8, 0xF0DF, 0xF0F7, 0xF110, 0xF12A, 0xF146, 0xF162, 0xF180,
|
|
0xF19F, 0xF1BE, 0xF1DF, 0xF202, 0xF225, 0xF249, 0xF26E, 0xF295,
|
|
0xF2BC, 0xF2E5, 0xF30E, 0xF339, 0xF364, 0xF391, 0xF3BE, 0xF3ED,
|
|
0xF41C, 0xF44C, 0xF47E, 0xF4B0, 0xF4E3, 0xF517, 0xF54B, 0xF581,
|
|
0xF5B7, 0xF5EE, 0xF626, 0xF65F, 0xF698, 0xF6D3, 0xF70E, 0xF749,
|
|
0xF785, 0xF7C2, 0xF800, 0xF83E, 0xF87D, 0xF8BC, 0xF8FC, 0xF93D,
|
|
0xF97E, 0xF9C0, 0xFA02, 0xFA44, 0xFA87, 0xFACA, 0xFB0E, 0xFB52,
|
|
0xFB97, 0xFBDC, 0xFC21, 0xFC67, 0xFCAC, 0xFCF2, 0xFD39, 0xFD7F,
|
|
0xFDC6, 0xFE0D, 0xFE54, 0xFE9B, 0xFEE2, 0xFF2A, 0xFF71, 0xFFB9,
|
|
};
|
|
|
|
// Cosinus table. Range [0:Pi*2[
|
|
const unsigned short g_Cosinus360[] = {
|
|
0x1000, 0x0FFF, 0x0FFE, 0x0FFA, 0x0FF6, 0x0FF0, 0x0FEA, 0x0FE1,
|
|
0x0FD8, 0x0FCE, 0x0FC2, 0x0FB5, 0x0FA6, 0x0F97, 0x0F86, 0x0F74,
|
|
0x0F61, 0x0F4D, 0x0F38, 0x0F21, 0x0F09, 0x0EF0, 0x0ED6, 0x0EBA,
|
|
0x0E9E, 0x0E80, 0x0E61, 0x0E42, 0x0E21, 0x0DFE, 0x0DDB, 0x0DB7,
|
|
0x0D92, 0x0D6B, 0x0D44, 0x0D1B, 0x0CF2, 0x0CC7, 0x0C9C, 0x0C6F,
|
|
0x0C42, 0x0C13, 0x0BE4, 0x0BB4, 0x0B82, 0x0B50, 0x0B1D, 0x0AE9,
|
|
0x0AB5, 0x0A7F, 0x0A49, 0x0A12, 0x09DA, 0x09A1, 0x0968, 0x092D,
|
|
0x08F2, 0x08B7, 0x087B, 0x083E, 0x0800, 0x07C2, 0x0783, 0x0744,
|
|
0x0704, 0x06C3, 0x0682, 0x0640, 0x05FE, 0x05BC, 0x0579, 0x0536,
|
|
0x04F2, 0x04AE, 0x0469, 0x0424, 0x03DF, 0x0399, 0x0354, 0x030E,
|
|
0x02C7, 0x0281, 0x023A, 0x01F3, 0x01AC, 0x0165, 0x011E, 0x00D6,
|
|
0x008F, 0x0047, 0x0000, 0xFFB9, 0xFF71, 0xFF2A, 0xFEE2, 0xFE9B,
|
|
0xFE54, 0xFE0D, 0xFDC6, 0xFD7F, 0xFD39, 0xFCF2, 0xFCAC, 0xFC67,
|
|
0xFC21, 0xFBDC, 0xFB97, 0xFB52, 0xFB0E, 0xFACA, 0xFA87, 0xFA44,
|
|
0xFA02, 0xF9C0, 0xF97E, 0xF93D, 0xF8FC, 0xF8BC, 0xF87D, 0xF83E,
|
|
0xF800, 0xF7C2, 0xF785, 0xF749, 0xF70E, 0xF6D3, 0xF698, 0xF65F,
|
|
0xF626, 0xF5EE, 0xF5B7, 0xF581, 0xF54B, 0xF517, 0xF4E3, 0xF4B0,
|
|
0xF47E, 0xF44C, 0xF41C, 0xF3ED, 0xF3BE, 0xF391, 0xF364, 0xF339,
|
|
0xF30E, 0xF2E5, 0xF2BC, 0xF295, 0xF26E, 0xF249, 0xF225, 0xF202,
|
|
0xF1DF, 0xF1BE, 0xF19F, 0xF180, 0xF162, 0xF146, 0xF12A, 0xF110,
|
|
0xF0F7, 0xF0DF, 0xF0C8, 0xF0B3, 0xF09F, 0xF08C, 0xF07A, 0xF069,
|
|
0xF05A, 0xF04B, 0xF03E, 0xF032, 0xF028, 0xF01F, 0xF016, 0xF010,
|
|
0xF00A, 0xF006, 0xF002, 0xF001, 0xF000, 0xF001, 0xF002, 0xF006,
|
|
0xF00A, 0xF010, 0xF016, 0xF01F, 0xF028, 0xF032, 0xF03E, 0xF04B,
|
|
0xF05A, 0xF069, 0xF07A, 0xF08C, 0xF09F, 0xF0B3, 0xF0C8, 0xF0DF,
|
|
0xF0F7, 0xF110, 0xF12A, 0xF146, 0xF162, 0xF180, 0xF19F, 0xF1BE,
|
|
0xF1DF, 0xF202, 0xF225, 0xF249, 0xF26E, 0xF295, 0xF2BC, 0xF2E5,
|
|
0xF30E, 0xF339, 0xF364, 0xF391, 0xF3BE, 0xF3ED, 0xF41C, 0xF44C,
|
|
0xF47E, 0xF4B0, 0xF4E3, 0xF517, 0xF54B, 0xF581, 0xF5B7, 0xF5EE,
|
|
0xF626, 0xF65F, 0xF698, 0xF6D3, 0xF70E, 0xF749, 0xF785, 0xF7C2,
|
|
0xF800, 0xF83E, 0xF87D, 0xF8BC, 0xF8FC, 0xF93D, 0xF97E, 0xF9C0,
|
|
0xFA02, 0xFA44, 0xFA87, 0xFACA, 0xFB0E, 0xFB52, 0xFB97, 0xFBDC,
|
|
0xFC21, 0xFC67, 0xFCAC, 0xFCF2, 0xFD39, 0xFD7F, 0xFDC6, 0xFE0D,
|
|
0xFE54, 0xFE9B, 0xFEE2, 0xFF2A, 0xFF71, 0xFFB9, 0x0000, 0x0047,
|
|
0x008F, 0x00D6, 0x011E, 0x0165, 0x01AC, 0x01F3, 0x023A, 0x0281,
|
|
0x02C7, 0x030E, 0x0354, 0x0399, 0x03DF, 0x0424, 0x0469, 0x04AE,
|
|
0x04F2, 0x0536, 0x0579, 0x05BC, 0x05FE, 0x0640, 0x0682, 0x06C3,
|
|
0x0704, 0x0744, 0x0783, 0x07C2, 0x0800, 0x083E, 0x087B, 0x08B7,
|
|
0x08F2, 0x092D, 0x0968, 0x09A1, 0x09DA, 0x0A12, 0x0A49, 0x0A7F,
|
|
0x0AB5, 0x0AE9, 0x0B1D, 0x0B50, 0x0B82, 0x0BB4, 0x0BE4, 0x0C13,
|
|
0x0C42, 0x0C6F, 0x0C9C, 0x0CC7, 0x0CF2, 0x0D1B, 0x0D44, 0x0D6B,
|
|
0x0D92, 0x0DB7, 0x0DDB, 0x0DFE, 0x0E21, 0x0E42, 0x0E61, 0x0E80,
|
|
0x0E9E, 0x0EBA, 0x0ED6, 0x0EF0, 0x0F09, 0x0F21, 0x0F38, 0x0F4D,
|
|
0x0F61, 0x0F74, 0x0F86, 0x0F97, 0x0FA6, 0x0FB5, 0x0FC2, 0x0FCE,
|
|
0x0FD8, 0x0FE1, 0x0FEA, 0x0FF0, 0x0FF6, 0x0FFA, 0x0FFE, 0x0FFF,
|
|
};
|
|
// Size: 1440 bytes
|