Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
60 lines
3.3 KiB
SQL
60 lines
3.3 KiB
SQL
// ██▀▀█▀▀██▀▀▀▀▀▀▀█▀▀█ ▄▄ ▄▄
|
|
// ██ ▀ █▄ ▀██▄ ▀ ▄█ ▄█▄█ ▄▀██ ██▀ ██▄
|
|
// █ █ █ ▀▀ ▄█ █ █ ██ █ ▀▄██ ▀█▄▄ ██ █
|
|
// ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
|
|
// ─────────────────────────────────────────────────────────────────────────────
|
|
// MSXmath 1.8.2 by Guillaume "Aoineko" Blanchard
|
|
// under CC-BY-SA free license
|
|
//
|
|
// Parameters: Entries=64, Bytes=2 (16-bits), Shift=8 (Q8.8)
|
|
// ─────────────────────────────────────────────────────────────────────────────
|
|
|
|
// Tangent table. Range [-Pi/2:Pi/2[
|
|
const unsigned short g_Tangent64[] = {
|
|
0x7FFF, 0xEBA5, 0xF5D9, 0xF942, 0xFAF9, 0xFC02, 0xFCB4, 0xFD35,
|
|
0xFD96, 0xFDE3, 0xFE21, 0xFE55, 0xFE81, 0xFEA7, 0xFEC8, 0xFEE6,
|
|
0xFF00, 0xFF18, 0xFF2E, 0xFF42, 0xFF55, 0xFF67, 0xFF77, 0xFF87,
|
|
0xFF96, 0xFFA4, 0xFFB2, 0xFFC0, 0xFFCD, 0xFFDA, 0xFFE7, 0xFFF3,
|
|
0x0000, 0x000D, 0x0019, 0x0026, 0x0033, 0x0040, 0x004E, 0x005C,
|
|
0x006A, 0x0079, 0x0089, 0x0099, 0x00AB, 0x00BE, 0x00D2, 0x00E8,
|
|
0x0100, 0x011A, 0x0138, 0x0159, 0x017F, 0x01AB, 0x01DF, 0x021D,
|
|
0x026A, 0x02CB, 0x034C, 0x03FE, 0x0507, 0x06BE, 0x0A27, 0x145B,
|
|
};
|
|
|
|
// ArcSinus table. Range [-1:1]
|
|
const unsigned short g_ArcSinus64[] = {
|
|
0xFE6E, 0xFEAE, 0xFEC8, 0xFEDD, 0xFEEE, 0xFEFE, 0xFF0C, 0xFF19,
|
|
0xFF25, 0xFF31, 0xFF3C, 0xFF47, 0xFF51, 0xFF5B, 0xFF65, 0xFF6E,
|
|
0xFF78, 0xFF81, 0xFF8A, 0xFF92, 0xFF9B, 0xFFA3, 0xFFAC, 0xFFB4,
|
|
0xFFBC, 0xFFC4, 0xFFCC, 0xFFD4, 0xFFDC, 0xFFE4, 0xFFEC, 0xFFF4,
|
|
0xFFFC, 0x0004, 0x000C, 0x0014, 0x001C, 0x0024, 0x002C, 0x0034,
|
|
0x003C, 0x0044, 0x004C, 0x0054, 0x005D, 0x0065, 0x006E, 0x0076,
|
|
0x007F, 0x0088, 0x0092, 0x009B, 0x00A5, 0x00AF, 0x00B9, 0x00C4,
|
|
0x00CF, 0x00DB, 0x00E7, 0x00F4, 0x0102, 0x0112, 0x0123, 0x0138,
|
|
};
|
|
|
|
// ArcCosinus table. Range [-1:1]
|
|
const unsigned short g_ArcCosinus64[] = {
|
|
0x0324, 0x02E5, 0x02CA, 0x02B5, 0x02A4, 0x0294, 0x0286, 0x0279,
|
|
0x026D, 0x0261, 0x0256, 0x024B, 0x0241, 0x0237, 0x022D, 0x0224,
|
|
0x021A, 0x0211, 0x0209, 0x0200, 0x01F7, 0x01EF, 0x01E6, 0x01DE,
|
|
0x01D6, 0x01CE, 0x01C6, 0x01BE, 0x01B6, 0x01AE, 0x01A6, 0x019E,
|
|
0x0196, 0x018E, 0x0186, 0x017E, 0x0177, 0x016F, 0x0167, 0x015F,
|
|
0x0157, 0x014E, 0x0146, 0x013E, 0x0136, 0x012D, 0x0124, 0x011C,
|
|
0x0113, 0x010A, 0x0101, 0x00F7, 0x00ED, 0x00E3, 0x00D9, 0x00CE,
|
|
0x00C3, 0x00B8, 0x00AB, 0x009E, 0x0090, 0x0080, 0x006F, 0x005A,
|
|
};
|
|
|
|
// ArcTangent table. Range [0:N]
|
|
const unsigned short g_ArcTangent64[] = {
|
|
0x0000, 0x00C7, 0x011A, 0x013F, 0x0152, 0x015F, 0x0167, 0x016D,
|
|
0x0172, 0x0175, 0x0178, 0x017B, 0x017D, 0x017E, 0x0180, 0x0181,
|
|
0x0182, 0x0183, 0x0184, 0x0184, 0x0185, 0x0186, 0x0186, 0x0187,
|
|
0x0187, 0x0188, 0x0188, 0x0188, 0x0189, 0x0189, 0x0189, 0x018A,
|
|
0x018A, 0x018A, 0x018A, 0x018B, 0x018B, 0x018B, 0x018B, 0x018B,
|
|
0x018C, 0x018C, 0x018C, 0x018C, 0x018C, 0x018C, 0x018C, 0x018D,
|
|
0x018D, 0x018D, 0x018D, 0x018D, 0x018D, 0x018D, 0x018D, 0x018D,
|
|
0x018D, 0x018E, 0x018E, 0x018E, 0x018E, 0x018E, 0x018E, 0x018E,
|
|
};
|
|
// Size: 512 bytes
|