

xvr
Свой-
Content Count
3298 -
Joined
-
Last visited
Community Reputation
0 ОбычныйAbout xvr
-
Rank
Гуру
- Birthday 06/29/1967
Контакты
-
ICQ
Array
Информация
-
Город
Array
Recent Profile Visitors
-
Есть ли в Cortex-M3 инструкция копирования битов?
xvr replied to Arlleex's topic in ARM, 32bit
Т.е. вы не в состоянии завернуть строку кода в функцию и проверить? (Почему то я не удивлён) Держите: #include <stdint.h> static const uint64_t t0[] = { 0x0000000000000000ull,0x8000000000000000ull,0x4000000000000000ull,0xC000000000000000ull,0x2000000000000000ull,0xA000000000000000ull,0x6000000000000000ull,0xE000000000000000ull, 0x1000000000000000ull,0x9000000000000000ull,0x5000000000000000ull,0xD000000000000000ull,0x3000000000000000ull,0xB000000000000000ull,0x7000000000000000ull,0xF000000000000000ull, 0x0800000000000000ull,0x8800000000000000ull,0x4800000000000000ull,0xC800000000000000ull,0x2800000000000000ull,0xA800000000000000ull,0x6800000000000000ull,0xE800000000000000ull, 0x1800000000000000ull,0x9800000000000000ull,0x5800000000000000ull,0xD800000000000000ull,0x3800000000000000ull,0xB800000000000000ull,0x7800000000000000ull,0xF800000000000000ull, 0x0400000000000000ull,0x8400000000000000ull,0x4400000000000000ull,0xC400000000000000ull,0x2400000000000000ull,0xA400000000000000ull,0x6400000000000000ull,0xE400000000000000ull, 0x1400000000000000ull,0x9400000000000000ull,0x5400000000000000ull,0xD400000000000000ull,0x3400000000000000ull,0xB400000000000000ull,0x7400000000000000ull,0xF400000000000000ull, 0x0C00000000000000ull,0x8C00000000000000ull,0x4C00000000000000ull,0xCC00000000000000ull,0x2C00000000000000ull,0xAC00000000000000ull,0x6C00000000000000ull,0xEC00000000000000ull, 0x1C00000000000000ull,0x9C00000000000000ull,0x5C00000000000000ull,0xDC00000000000000ull,0x3C00000000000000ull,0xBC00000000000000ull,0x7C00000000000000ull,0xFC00000000000000ull, 0x0200000000000000ull,0x8200000000000000ull,0x4200000000000000ull,0xC200000000000000ull,0x2200000000000000ull,0xA200000000000000ull,0x6200000000000000ull,0xE200000000000000ull, 0x1200000000000000ull,0x9200000000000000ull,0x5200000000000000ull,0xD200000000000000ull,0x3200000000000000ull,0xB200000000000000ull,0x7200000000000000ull,0xF200000000000000ull, 0x0A00000000000000ull,0x8A00000000000000ull,0x4A00000000000000ull,0xCA00000000000000ull,0x2A00000000000000ull,0xAA00000000000000ull,0x6A00000000000000ull,0xEA00000000000000ull, 0x1A00000000000000ull,0x9A00000000000000ull,0x5A00000000000000ull,0xDA00000000000000ull,0x3A00000000000000ull,0xBA00000000000000ull,0x7A00000000000000ull,0xFA00000000000000ull, 0x0600000000000000ull,0x8600000000000000ull,0x4600000000000000ull,0xC600000000000000ull,0x2600000000000000ull,0xA600000000000000ull,0x6600000000000000ull,0xE600000000000000ull, 0x1600000000000000ull,0x9600000000000000ull,0x5600000000000000ull,0xD600000000000000ull,0x3600000000000000ull,0xB600000000000000ull,0x7600000000000000ull,0xF600000000000000ull, 0x0E00000000000000ull,0x8E00000000000000ull,0x4E00000000000000ull,0xCE00000000000000ull,0x2E00000000000000ull,0xAE00000000000000ull,0x6E00000000000000ull,0xEE00000000000000ull, 0x1E00000000000000ull,0x9E00000000000000ull,0x5E00000000000000ull,0xDE00000000000000ull,0x3E00000000000000ull,0xBE00000000000000ull,0x7E00000000000000ull,0xFE00000000000000ull, 0x0100000000000000ull,0x8100000000000000ull,0x4100000000000000ull,0xC100000000000000ull,0x2100000000000000ull,0xA100000000000000ull,0x6100000000000000ull,0xE100000000000000ull, 0x1100000000000000ull,0x9100000000000000ull,0x5100000000000000ull,0xD100000000000000ull,0x3100000000000000ull,0xB100000000000000ull,0x7100000000000000ull,0xF100000000000000ull, 0x0900000000000000ull,0x8900000000000000ull,0x4900000000000000ull,0xC900000000000000ull,0x2900000000000000ull,0xA900000000000000ull,0x6900000000000000ull,0xE900000000000000ull, 0x1900000000000000ull,0x9900000000000000ull,0x5900000000000000ull,0xD900000000000000ull,0x3900000000000000ull,0xB900000000000000ull,0x7900000000000000ull,0xF900000000000000ull, 0x0500000000000000ull,0x8500000000000000ull,0x4500000000000000ull,0xC500000000000000ull,0x2500000000000000ull,0xA500000000000000ull,0x6500000000000000ull,0xE500000000000000ull, 0x1500000000000000ull,0x9500000000000000ull,0x5500000000000000ull,0xD500000000000000ull,0x3500000000000000ull,0xB500000000000000ull,0x7500000000000000ull,0xF500000000000000ull, 0x0D00000000000000ull,0x8D00000000000000ull,0x4D00000000000000ull,0xCD00000000000000ull,0x2D00000000000000ull,0xAD00000000000000ull,0x6D00000000000000ull,0xED00000000000000ull, 0x1D00000000000000ull,0x9D00000000000000ull,0x5D00000000000000ull,0xDD00000000000000ull,0x3D00000000000000ull,0xBD00000000000000ull,0x7D00000000000000ull,0xFD00000000000000ull, 0x0300000000000000ull,0x8300000000000000ull,0x4300000000000000ull,0xC300000000000000ull,0x2300000000000000ull,0xA300000000000000ull,0x6300000000000000ull,0xE300000000000000ull, 0x1300000000000000ull,0x9300000000000000ull,0x5300000000000000ull,0xD300000000000000ull,0x3300000000000000ull,0xB300000000000000ull,0x7300000000000000ull,0xF300000000000000ull, 0x0B00000000000000ull,0x8B00000000000000ull,0x4B00000000000000ull,0xCB00000000000000ull,0x2B00000000000000ull,0xAB00000000000000ull,0x6B00000000000000ull,0xEB00000000000000ull, 0x1B00000000000000ull,0x9B00000000000000ull,0x5B00000000000000ull,0xDB00000000000000ull,0x3B00000000000000ull,0xBB00000000000000ull,0x7B00000000000000ull,0xFB00000000000000ull, 0x0700000000000000ull,0x8700000000000000ull,0x4700000000000000ull,0xC700000000000000ull,0x2700000000000000ull,0xA700000000000000ull,0x6700000000000000ull,0xE700000000000000ull, 0x1700000000000000ull,0x9700000000000000ull,0x5700000000000000ull,0xD700000000000000ull,0x3700000000000000ull,0xB700000000000000ull,0x7700000000000000ull,0xF700000000000000ull, 0x0F00000000000000ull,0x8F00000000000000ull,0x4F00000000000000ull,0xCF00000000000000ull,0x2F00000000000000ull,0xAF00000000000000ull,0x6F00000000000000ull,0xEF00000000000000ull, 0x1F00000000000000ull,0x9F00000000000000ull,0x5F00000000000000ull,0xDF00000000000000ull,0x3F00000000000000ull,0xBF00000000000000ull,0x7F00000000000000ull,0xFF00000000000000ull }; static const uint64_t t1[] = { 0x0000000000000000ull,0x0080000000000000ull,0x0040000000000000ull,0x00C0000000000000ull,0x0020000000000000ull,0x00A0000000000000ull,0x0060000000000000ull,0x00E0000000000000ull, 0x0010000000000000ull,0x0090000000000000ull,0x0050000000000000ull,0x00D0000000000000ull,0x0030000000000000ull,0x00B0000000000000ull,0x0070000000000000ull,0x00F0000000000000ull, 0x0008000000000000ull,0x0088000000000000ull,0x0048000000000000ull,0x00C8000000000000ull,0x0028000000000000ull,0x00A8000000000000ull,0x0068000000000000ull,0x00E8000000000000ull, 0x0018000000000000ull,0x0098000000000000ull,0x0058000000000000ull,0x00D8000000000000ull,0x0038000000000000ull,0x00B8000000000000ull,0x0078000000000000ull,0x00F8000000000000ull, 0x0004000000000000ull,0x0084000000000000ull,0x0044000000000000ull,0x00C4000000000000ull,0x0024000000000000ull,0x00A4000000000000ull,0x0064000000000000ull,0x00E4000000000000ull, 0x0014000000000000ull,0x0094000000000000ull,0x0054000000000000ull,0x00D4000000000000ull,0x0034000000000000ull,0x00B4000000000000ull,0x0074000000000000ull,0x00F4000000000000ull, 0x000C000000000000ull,0x008C000000000000ull,0x004C000000000000ull,0x00CC000000000000ull,0x002C000000000000ull,0x00AC000000000000ull,0x006C000000000000ull,0x00EC000000000000ull, 0x001C000000000000ull,0x009C000000000000ull,0x005C000000000000ull,0x00DC000000000000ull,0x003C000000000000ull,0x00BC000000000000ull,0x007C000000000000ull,0x00FC000000000000ull, 0x0002000000000000ull,0x0082000000000000ull,0x0042000000000000ull,0x00C2000000000000ull,0x0022000000000000ull,0x00A2000000000000ull,0x0062000000000000ull,0x00E2000000000000ull, 0x0012000000000000ull,0x0092000000000000ull,0x0052000000000000ull,0x00D2000000000000ull,0x0032000000000000ull,0x00B2000000000000ull,0x0072000000000000ull,0x00F2000000000000ull, 0x000A000000000000ull,0x008A000000000000ull,0x004A000000000000ull,0x00CA000000000000ull,0x002A000000000000ull,0x00AA000000000000ull,0x006A000000000000ull,0x00EA000000000000ull, 0x001A000000000000ull,0x009A000000000000ull,0x005A000000000000ull,0x00DA000000000000ull,0x003A000000000000ull,0x00BA000000000000ull,0x007A000000000000ull,0x00FA000000000000ull, 0x0006000000000000ull,0x0086000000000000ull,0x0046000000000000ull,0x00C6000000000000ull,0x0026000000000000ull,0x00A6000000000000ull,0x0066000000000000ull,0x00E6000000000000ull, 0x0016000000000000ull,0x0096000000000000ull,0x0056000000000000ull,0x00D6000000000000ull,0x0036000000000000ull,0x00B6000000000000ull,0x0076000000000000ull,0x00F6000000000000ull, 0x000E000000000000ull,0x008E000000000000ull,0x004E000000000000ull,0x00CE000000000000ull,0x002E000000000000ull,0x00AE000000000000ull,0x006E000000000000ull,0x00EE000000000000ull, 0x001E000000000000ull,0x009E000000000000ull,0x005E000000000000ull,0x00DE000000000000ull,0x003E000000000000ull,0x00BE000000000000ull,0x007E000000000000ull,0x00FE000000000000ull, 0x0001000000000000ull,0x0081000000000000ull,0x0041000000000000ull,0x00C1000000000000ull,0x0021000000000000ull,0x00A1000000000000ull,0x0061000000000000ull,0x00E1000000000000ull, 0x0011000000000000ull,0x0091000000000000ull,0x0051000000000000ull,0x00D1000000000000ull,0x0031000000000000ull,0x00B1000000000000ull,0x0071000000000000ull,0x00F1000000000000ull, 0x0009000000000000ull,0x0089000000000000ull,0x0049000000000000ull,0x00C9000000000000ull,0x0029000000000000ull,0x00A9000000000000ull,0x0069000000000000ull,0x00E9000000000000ull, 0x0019000000000000ull,0x0099000000000000ull,0x0059000000000000ull,0x00D9000000000000ull,0x0039000000000000ull,0x00B9000000000000ull,0x0079000000000000ull,0x00F9000000000000ull, 0x0005000000000000ull,0x0085000000000000ull,0x0045000000000000ull,0x00C5000000000000ull,0x0025000000000000ull,0x00A5000000000000ull,0x0065000000000000ull,0x00E5000000000000ull, 0x0015000000000000ull,0x0095000000000000ull,0x0055000000000000ull,0x00D5000000000000ull,0x0035000000000000ull,0x00B5000000000000ull,0x0075000000000000ull,0x00F5000000000000ull, 0x000D000000000000ull,0x008D000000000000ull,0x004D000000000000ull,0x00CD000000000000ull,0x002D000000000000ull,0x00AD000000000000ull,0x006D000000000000ull,0x00ED000000000000ull, 0x001D000000000000ull,0x009D000000000000ull,0x005D000000000000ull,0x00DD000000000000ull,0x003D000000000000ull,0x00BD000000000000ull,0x007D000000000000ull,0x00FD000000000000ull, 0x0003000000000000ull,0x0083000000000000ull,0x0043000000000000ull,0x00C3000000000000ull,0x0023000000000000ull,0x00A3000000000000ull,0x0063000000000000ull,0x00E3000000000000ull, 0x0013000000000000ull,0x0093000000000000ull,0x0053000000000000ull,0x00D3000000000000ull,0x0033000000000000ull,0x00B3000000000000ull,0x0073000000000000ull,0x00F3000000000000ull, 0x000B000000000000ull,0x008B000000000000ull,0x004B000000000000ull,0x00CB000000000000ull,0x002B000000000000ull,0x00AB000000000000ull,0x006B000000000000ull,0x00EB000000000000ull, 0x001B000000000000ull,0x009B000000000000ull,0x005B000000000000ull,0x00DB000000000000ull,0x003B000000000000ull,0x00BB000000000000ull,0x007B000000000000ull,0x00FB000000000000ull, 0x0007000000000000ull,0x0087000000000000ull,0x0047000000000000ull,0x00C7000000000000ull,0x0027000000000000ull,0x00A7000000000000ull,0x0067000000000000ull,0x00E7000000000000ull, 0x0017000000000000ull,0x0097000000000000ull,0x0057000000000000ull,0x00D7000000000000ull,0x0037000000000000ull,0x00B7000000000000ull,0x0077000000000000ull,0x00F7000000000000ull, 0x000F000000000000ull,0x008F000000000000ull,0x004F000000000000ull,0x00CF000000000000ull,0x002F000000000000ull,0x00AF000000000000ull,0x006F000000000000ull,0x00EF000000000000ull, 0x001F000000000000ull,0x009F000000000000ull,0x005F000000000000ull,0x00DF000000000000ull,0x003F000000000000ull,0x00BF000000000000ull,0x007F000000000000ull,0x00FF000000000000ull }; static const uint64_t t2[] = { 0x0000000000000000ull,0x0000800000000000ull,0x0000400000000000ull,0x0000C00000000000ull,0x0000200000000000ull,0x0000A00000000000ull,0x0000600000000000ull,0x0000E00000000000ull, 0x0000100000000000ull,0x0000900000000000ull,0x0000500000000000ull,0x0000D00000000000ull,0x0000300000000000ull,0x0000B00000000000ull,0x0000700000000000ull,0x0000F00000000000ull, 0x0000080000000000ull,0x0000880000000000ull,0x0000480000000000ull,0x0000C80000000000ull,0x0000280000000000ull,0x0000A80000000000ull,0x0000680000000000ull,0x0000E80000000000ull, 0x0000180000000000ull,0x0000980000000000ull,0x0000580000000000ull,0x0000D80000000000ull,0x0000380000000000ull,0x0000B80000000000ull,0x0000780000000000ull,0x0000F80000000000ull, 0x0000040000000000ull,0x0000840000000000ull,0x0000440000000000ull,0x0000C40000000000ull,0x0000240000000000ull,0x0000A40000000000ull,0x0000640000000000ull,0x0000E40000000000ull, 0x0000140000000000ull,0x0000940000000000ull,0x0000540000000000ull,0x0000D40000000000ull,0x0000340000000000ull,0x0000B40000000000ull,0x0000740000000000ull,0x0000F40000000000ull, 0x00000C0000000000ull,0x00008C0000000000ull,0x00004C0000000000ull,0x0000CC0000000000ull,0x00002C0000000000ull,0x0000AC0000000000ull,0x00006C0000000000ull,0x0000EC0000000000ull, 0x00001C0000000000ull,0x00009C0000000000ull,0x00005C0000000000ull,0x0000DC0000000000ull,0x00003C0000000000ull,0x0000BC0000000000ull,0x00007C0000000000ull,0x0000FC0000000000ull, 0x0000020000000000ull,0x0000820000000000ull,0x0000420000000000ull,0x0000C20000000000ull,0x0000220000000000ull,0x0000A20000000000ull,0x0000620000000000ull,0x0000E20000000000ull, 0x0000120000000000ull,0x0000920000000000ull,0x0000520000000000ull,0x0000D20000000000ull,0x0000320000000000ull,0x0000B20000000000ull,0x0000720000000000ull,0x0000F20000000000ull, 0x00000A0000000000ull,0x00008A0000000000ull,0x00004A0000000000ull,0x0000CA0000000000ull,0x00002A0000000000ull,0x0000AA0000000000ull,0x00006A0000000000ull,0x0000EA0000000000ull, 0x00001A0000000000ull,0x00009A0000000000ull,0x00005A0000000000ull,0x0000DA0000000000ull,0x00003A0000000000ull,0x0000BA0000000000ull,0x00007A0000000000ull,0x0000FA0000000000ull, 0x0000060000000000ull,0x0000860000000000ull,0x0000460000000000ull,0x0000C60000000000ull,0x0000260000000000ull,0x0000A60000000000ull,0x0000660000000000ull,0x0000E60000000000ull, 0x0000160000000000ull,0x0000960000000000ull,0x0000560000000000ull,0x0000D60000000000ull,0x0000360000000000ull,0x0000B60000000000ull,0x0000760000000000ull,0x0000F60000000000ull, 0x00000E0000000000ull,0x00008E0000000000ull,0x00004E0000000000ull,0x0000CE0000000000ull,0x00002E0000000000ull,0x0000AE0000000000ull,0x00006E0000000000ull,0x0000EE0000000000ull, 0x00001E0000000000ull,0x00009E0000000000ull,0x00005E0000000000ull,0x0000DE0000000000ull,0x00003E0000000000ull,0x0000BE0000000000ull,0x00007E0000000000ull,0x0000FE0000000000ull, 0x0000010000000000ull,0x0000810000000000ull,0x0000410000000000ull,0x0000C10000000000ull,0x0000210000000000ull,0x0000A10000000000ull,0x0000610000000000ull,0x0000E10000000000ull, 0x0000110000000000ull,0x0000910000000000ull,0x0000510000000000ull,0x0000D10000000000ull,0x0000310000000000ull,0x0000B10000000000ull,0x0000710000000000ull,0x0000F10000000000ull, 0x0000090000000000ull,0x0000890000000000ull,0x0000490000000000ull,0x0000C90000000000ull,0x0000290000000000ull,0x0000A90000000000ull,0x0000690000000000ull,0x0000E90000000000ull, 0x0000190000000000ull,0x0000990000000000ull,0x0000590000000000ull,0x0000D90000000000ull,0x0000390000000000ull,0x0000B90000000000ull,0x0000790000000000ull,0x0000F90000000000ull, 0x0000050000000000ull,0x0000850000000000ull,0x0000450000000000ull,0x0000C50000000000ull,0x0000250000000000ull,0x0000A50000000000ull,0x0000650000000000ull,0x0000E50000000000ull, 0x0000150000000000ull,0x0000950000000000ull,0x0000550000000000ull,0x0000D50000000000ull,0x0000350000000000ull,0x0000B50000000000ull,0x0000750000000000ull,0x0000F50000000000ull, 0x00000D0000000000ull,0x00008D0000000000ull,0x00004D0000000000ull,0x0000CD0000000000ull,0x00002D0000000000ull,0x0000AD0000000000ull,0x00006D0000000000ull,0x0000ED0000000000ull, 0x00001D0000000000ull,0x00009D0000000000ull,0x00005D0000000000ull,0x0000DD0000000000ull,0x00003D0000000000ull,0x0000BD0000000000ull,0x00007D0000000000ull,0x0000FD0000000000ull, 0x0000030000000000ull,0x0000830000000000ull,0x0000430000000000ull,0x0000C30000000000ull,0x0000230000000000ull,0x0000A30000000000ull,0x0000630000000000ull,0x0000E30000000000ull, 0x0000130000000000ull,0x0000930000000000ull,0x0000530000000000ull,0x0000D30000000000ull,0x0000330000000000ull,0x0000B30000000000ull,0x0000730000000000ull,0x0000F30000000000ull, 0x00000B0000000000ull,0x00008B0000000000ull,0x00004B0000000000ull,0x0000CB0000000000ull,0x00002B0000000000ull,0x0000AB0000000000ull,0x00006B0000000000ull,0x0000EB0000000000ull, 0x00001B0000000000ull,0x00009B0000000000ull,0x00005B0000000000ull,0x0000DB0000000000ull,0x00003B0000000000ull,0x0000BB0000000000ull,0x00007B0000000000ull,0x0000FB0000000000ull, 0x0000070000000000ull,0x0000870000000000ull,0x0000470000000000ull,0x0000C70000000000ull,0x0000270000000000ull,0x0000A70000000000ull,0x0000670000000000ull,0x0000E70000000000ull, 0x0000170000000000ull,0x0000970000000000ull,0x0000570000000000ull,0x0000D70000000000ull,0x0000370000000000ull,0x0000B70000000000ull,0x0000770000000000ull,0x0000F70000000000ull, 0x00000F0000000000ull,0x00008F0000000000ull,0x00004F0000000000ull,0x0000CF0000000000ull,0x00002F0000000000ull,0x0000AF0000000000ull,0x00006F0000000000ull,0x0000EF0000000000ull, 0x00001F0000000000ull,0x00009F0000000000ull,0x00005F0000000000ull,0x0000DF0000000000ull,0x00003F0000000000ull,0x0000BF0000000000ull,0x00007F0000000000ull,0x0000FF0000000000ull }; static const uint64_t t3[] = { 0x0000000000000000ull,0x0000008000000000ull,0x0000004000000000ull,0x000000C000000000ull,0x0000002000000000ull,0x000000A000000000ull,0x0000006000000000ull,0x000000E000000000ull, 0x0000001000000000ull,0x0000009000000000ull,0x0000005000000000ull,0x000000D000000000ull,0x0000003000000000ull,0x000000B000000000ull,0x0000007000000000ull,0x000000F000000000ull, 0x0000000800000000ull,0x0000008800000000ull,0x0000004800000000ull,0x000000C800000000ull,0x0000002800000000ull,0x000000A800000000ull,0x0000006800000000ull,0x000000E800000000ull, 0x0000001800000000ull,0x0000009800000000ull,0x0000005800000000ull,0x000000D800000000ull,0x0000003800000000ull,0x000000B800000000ull,0x0000007800000000ull,0x000000F800000000ull, 0x0000000400000000ull,0x0000008400000000ull,0x0000004400000000ull,0x000000C400000000ull,0x0000002400000000ull,0x000000A400000000ull,0x0000006400000000ull,0x000000E400000000ull, 0x0000001400000000ull,0x0000009400000000ull,0x0000005400000000ull,0x000000D400000000ull,0x0000003400000000ull,0x000000B400000000ull,0x0000007400000000ull,0x000000F400000000ull, 0x0000000C00000000ull,0x0000008C00000000ull,0x0000004C00000000ull,0x000000CC00000000ull,0x0000002C00000000ull,0x000000AC00000000ull,0x0000006C00000000ull,0x000000EC00000000ull, 0x0000001C00000000ull,0x0000009C00000000ull,0x0000005C00000000ull,0x000000DC00000000ull,0x0000003C00000000ull,0x000000BC00000000ull,0x0000007C00000000ull,0x000000FC00000000ull, 0x0000000200000000ull,0x0000008200000000ull,0x0000004200000000ull,0x000000C200000000ull,0x0000002200000000ull,0x000000A200000000ull,0x0000006200000000ull,0x000000E200000000ull, 0x0000001200000000ull,0x0000009200000000ull,0x0000005200000000ull,0x000000D200000000ull,0x0000003200000000ull,0x000000B200000000ull,0x0000007200000000ull,0x000000F200000000ull, 0x0000000A00000000ull,0x0000008A00000000ull,0x0000004A00000000ull,0x000000CA00000000ull,0x0000002A00000000ull,0x000000AA00000000ull,0x0000006A00000000ull,0x000000EA00000000ull, 0x0000001A00000000ull,0x0000009A00000000ull,0x0000005A00000000ull,0x000000DA00000000ull,0x0000003A00000000ull,0x000000BA00000000ull,0x0000007A00000000ull,0x000000FA00000000ull, 0x0000000600000000ull,0x0000008600000000ull,0x0000004600000000ull,0x000000C600000000ull,0x0000002600000000ull,0x000000A600000000ull,0x0000006600000000ull,0x000000E600000000ull, 0x0000001600000000ull,0x0000009600000000ull,0x0000005600000000ull,0x000000D600000000ull,0x0000003600000000ull,0x000000B600000000ull,0x0000007600000000ull,0x000000F600000000ull, 0x0000000E00000000ull,0x0000008E00000000ull,0x0000004E00000000ull,0x000000CE00000000ull,0x0000002E00000000ull,0x000000AE00000000ull,0x0000006E00000000ull,0x000000EE00000000ull, 0x0000001E00000000ull,0x0000009E00000000ull,0x0000005E00000000ull,0x000000DE00000000ull,0x0000003E00000000ull,0x000000BE00000000ull,0x0000007E00000000ull,0x000000FE00000000ull, 0x0000000100000000ull,0x0000008100000000ull,0x0000004100000000ull,0x000000C100000000ull,0x0000002100000000ull,0x000000A100000000ull,0x0000006100000000ull,0x000000E100000000ull, 0x0000001100000000ull,0x0000009100000000ull,0x0000005100000000ull,0x000000D100000000ull,0x0000003100000000ull,0x000000B100000000ull,0x0000007100000000ull,0x000000F100000000ull, 0x0000000900000000ull,0x0000008900000000ull,0x0000004900000000ull,0x000000C900000000ull,0x0000002900000000ull,0x000000A900000000ull,0x0000006900000000ull,0x000000E900000000ull, 0x0000001900000000ull,0x0000009900000000ull,0x0000005900000000ull,0x000000D900000000ull,0x0000003900000000ull,0x000000B900000000ull,0x0000007900000000ull,0x000000F900000000ull, 0x0000000500000000ull,0x0000008500000000ull,0x0000004500000000ull,0x000000C500000000ull,0x0000002500000000ull,0x000000A500000000ull,0x0000006500000000ull,0x000000E500000000ull, 0x0000001500000000ull,0x0000009500000000ull,0x0000005500000000ull,0x000000D500000000ull,0x0000003500000000ull,0x000000B500000000ull,0x0000007500000000ull,0x000000F500000000ull, 0x0000000D00000000ull,0x0000008D00000000ull,0x0000004D00000000ull,0x000000CD00000000ull,0x0000002D00000000ull,0x000000AD00000000ull,0x0000006D00000000ull,0x000000ED00000000ull, 0x0000001D00000000ull,0x0000009D00000000ull,0x0000005D00000000ull,0x000000DD00000000ull,0x0000003D00000000ull,0x000000BD00000000ull,0x0000007D00000000ull,0x000000FD00000000ull, 0x0000000300000000ull,0x0000008300000000ull,0x0000004300000000ull,0x000000C300000000ull,0x0000002300000000ull,0x000000A300000000ull,0x0000006300000000ull,0x000000E300000000ull, 0x0000001300000000ull,0x0000009300000000ull,0x0000005300000000ull,0x000000D300000000ull,0x0000003300000000ull,0x000000B300000000ull,0x0000007300000000ull,0x000000F300000000ull, 0x0000000B00000000ull,0x0000008B00000000ull,0x0000004B00000000ull,0x000000CB00000000ull,0x0000002B00000000ull,0x000000AB00000000ull,0x0000006B00000000ull,0x000000EB00000000ull, 0x0000001B00000000ull,0x0000009B00000000ull,0x0000005B00000000ull,0x000000DB00000000ull,0x0000003B00000000ull,0x000000BB00000000ull,0x0000007B00000000ull,0x000000FB00000000ull, 0x0000000700000000ull,0x0000008700000000ull,0x0000004700000000ull,0x000000C700000000ull,0x0000002700000000ull,0x000000A700000000ull,0x0000006700000000ull,0x000000E700000000ull, 0x0000001700000000ull,0x0000009700000000ull,0x0000005700000000ull,0x000000D700000000ull,0x0000003700000000ull,0x000000B700000000ull,0x0000007700000000ull,0x000000F700000000ull, 0x0000000F00000000ull,0x0000008F00000000ull,0x0000004F00000000ull,0x000000CF00000000ull,0x0000002F00000000ull,0x000000AF00000000ull,0x0000006F00000000ull,0x000000EF00000000ull, 0x0000001F00000000ull,0x0000009F00000000ull,0x0000005F00000000ull,0x000000DF00000000ull,0x0000003F00000000ull,0x000000BF00000000ull,0x0000007F00000000ull,0x000000FF00000000ull }; static const uint64_t t4[] = { 0x0000000000000000ull,0x0000000080000000ull,0x0000000040000000ull,0x00000000C0000000ull,0x0000000020000000ull,0x00000000A0000000ull,0x0000000060000000ull,0x00000000E0000000ull, 0x0000000010000000ull,0x0000000090000000ull,0x0000000050000000ull,0x00000000D0000000ull,0x0000000030000000ull,0x00000000B0000000ull,0x0000000070000000ull,0x00000000F0000000ull, 0x0000000008000000ull,0x0000000088000000ull,0x0000000048000000ull,0x00000000C8000000ull,0x0000000028000000ull,0x00000000A8000000ull,0x0000000068000000ull,0x00000000E8000000ull, 0x0000000018000000ull,0x0000000098000000ull,0x0000000058000000ull,0x00000000D8000000ull,0x0000000038000000ull,0x00000000B8000000ull,0x0000000078000000ull,0x00000000F8000000ull, 0x0000000004000000ull,0x0000000084000000ull,0x0000000044000000ull,0x00000000C4000000ull,0x0000000024000000ull,0x00000000A4000000ull,0x0000000064000000ull,0x00000000E4000000ull, 0x0000000014000000ull,0x0000000094000000ull,0x0000000054000000ull,0x00000000D4000000ull,0x0000000034000000ull,0x00000000B4000000ull,0x0000000074000000ull,0x00000000F4000000ull, 0x000000000C000000ull,0x000000008C000000ull,0x000000004C000000ull,0x00000000CC000000ull,0x000000002C000000ull,0x00000000AC000000ull,0x000000006C000000ull,0x00000000EC000000ull, 0x000000001C000000ull,0x000000009C000000ull,0x000000005C000000ull,0x00000000DC000000ull,0x000000003C000000ull,0x00000000BC000000ull,0x000000007C000000ull,0x00000000FC000000ull, 0x0000000002000000ull,0x0000000082000000ull,0x0000000042000000ull,0x00000000C2000000ull,0x0000000022000000ull,0x00000000A2000000ull,0x0000000062000000ull,0x00000000E2000000ull, 0x0000000012000000ull,0x0000000092000000ull,0x0000000052000000ull,0x00000000D2000000ull,0x0000000032000000ull,0x00000000B2000000ull,0x0000000072000000ull,0x00000000F2000000ull, 0x000000000A000000ull,0x000000008A000000ull,0x000000004A000000ull,0x00000000CA000000ull,0x000000002A000000ull,0x00000000AA000000ull,0x000000006A000000ull,0x00000000EA000000ull, 0x000000001A000000ull,0x000000009A000000ull,0x000000005A000000ull,0x00000000DA000000ull,0x000000003A000000ull,0x00000000BA000000ull,0x000000007A000000ull,0x00000000FA000000ull, 0x0000000006000000ull,0x0000000086000000ull,0x0000000046000000ull,0x00000000C6000000ull,0x0000000026000000ull,0x00000000A6000000ull,0x0000000066000000ull,0x00000000E6000000ull, 0x0000000016000000ull,0x0000000096000000ull,0x0000000056000000ull,0x00000000D6000000ull,0x0000000036000000ull,0x00000000B6000000ull,0x0000000076000000ull,0x00000000F6000000ull, 0x000000000E000000ull,0x000000008E000000ull,0x000000004E000000ull,0x00000000CE000000ull,0x000000002E000000ull,0x00000000AE000000ull,0x000000006E000000ull,0x00000000EE000000ull, 0x000000001E000000ull,0x000000009E000000ull,0x000000005E000000ull,0x00000000DE000000ull,0x000000003E000000ull,0x00000000BE000000ull,0x000000007E000000ull,0x00000000FE000000ull, 0x0000000001000000ull,0x0000000081000000ull,0x0000000041000000ull,0x00000000C1000000ull,0x0000000021000000ull,0x00000000A1000000ull,0x0000000061000000ull,0x00000000E1000000ull, 0x0000000011000000ull,0x0000000091000000ull,0x0000000051000000ull,0x00000000D1000000ull,0x0000000031000000ull,0x00000000B1000000ull,0x0000000071000000ull,0x00000000F1000000ull, 0x0000000009000000ull,0x0000000089000000ull,0x0000000049000000ull,0x00000000C9000000ull,0x0000000029000000ull,0x00000000A9000000ull,0x0000000069000000ull,0x00000000E9000000ull, 0x0000000019000000ull,0x0000000099000000ull,0x0000000059000000ull,0x00000000D9000000ull,0x0000000039000000ull,0x00000000B9000000ull,0x0000000079000000ull,0x00000000F9000000ull, 0x0000000005000000ull,0x0000000085000000ull,0x0000000045000000ull,0x00000000C5000000ull,0x0000000025000000ull,0x00000000A5000000ull,0x0000000065000000ull,0x00000000E5000000ull, 0x0000000015000000ull,0x0000000095000000ull,0x0000000055000000ull,0x00000000D5000000ull,0x0000000035000000ull,0x00000000B5000000ull,0x0000000075000000ull,0x00000000F5000000ull, 0x000000000D000000ull,0x000000008D000000ull,0x000000004D000000ull,0x00000000CD000000ull,0x000000002D000000ull,0x00000000AD000000ull,0x000000006D000000ull,0x00000000ED000000ull, 0x000000001D000000ull,0x000000009D000000ull,0x000000005D000000ull,0x00000000DD000000ull,0x000000003D000000ull,0x00000000BD000000ull,0x000000007D000000ull,0x00000000FD000000ull, 0x0000000003000000ull,0x0000000083000000ull,0x0000000043000000ull,0x00000000C3000000ull,0x0000000023000000ull,0x00000000A3000000ull,0x0000000063000000ull,0x00000000E3000000ull, 0x0000000013000000ull,0x0000000093000000ull,0x0000000053000000ull,0x00000000D3000000ull,0x0000000033000000ull,0x00000000B3000000ull,0x0000000073000000ull,0x00000000F3000000ull, 0x000000000B000000ull,0x000000008B000000ull,0x000000004B000000ull,0x00000000CB000000ull,0x000000002B000000ull,0x00000000AB000000ull,0x000000006B000000ull,0x00000000EB000000ull, 0x000000001B000000ull,0x000000009B000000ull,0x000000005B000000ull,0x00000000DB000000ull,0x000000003B000000ull,0x00000000BB000000ull,0x000000007B000000ull,0x00000000FB000000ull, 0x0000000007000000ull,0x0000000087000000ull,0x0000000047000000ull,0x00000000C7000000ull,0x0000000027000000ull,0x00000000A7000000ull,0x0000000067000000ull,0x00000000E7000000ull, 0x0000000017000000ull,0x0000000097000000ull,0x0000000057000000ull,0x00000000D7000000ull,0x0000000037000000ull,0x00000000B7000000ull,0x0000000077000000ull,0x00000000F7000000ull, 0x000000000F000000ull,0x000000008F000000ull,0x000000004F000000ull,0x00000000CF000000ull,0x000000002F000000ull,0x00000000AF000000ull,0x000000006F000000ull,0x00000000EF000000ull, 0x000000001F000000ull,0x000000009F000000ull,0x000000005F000000ull,0x00000000DF000000ull,0x000000003F000000ull,0x00000000BF000000ull,0x000000007F000000ull,0x00000000FF000000ull }; static const uint64_t t5[] = { 0x0000000000000000ull,0x0000000000800000ull,0x0000000000400000ull,0x0000000000C00000ull,0x0000000000200000ull,0x0000000000A00000ull,0x0000000000600000ull,0x0000000000E00000ull, 0x0000000000100000ull,0x0000000000900000ull,0x0000000000500000ull,0x0000000000D00000ull,0x0000000000300000ull,0x0000000000B00000ull,0x0000000000700000ull,0x0000000000F00000ull, 0x0000000000080000ull,0x0000000000880000ull,0x0000000000480000ull,0x0000000000C80000ull,0x0000000000280000ull,0x0000000000A80000ull,0x0000000000680000ull,0x0000000000E80000ull, 0x0000000000180000ull,0x0000000000980000ull,0x0000000000580000ull,0x0000000000D80000ull,0x0000000000380000ull,0x0000000000B80000ull,0x0000000000780000ull,0x0000000000F80000ull, 0x0000000000040000ull,0x0000000000840000ull,0x0000000000440000ull,0x0000000000C40000ull,0x0000000000240000ull,0x0000000000A40000ull,0x0000000000640000ull,0x0000000000E40000ull, 0x0000000000140000ull,0x0000000000940000ull,0x0000000000540000ull,0x0000000000D40000ull,0x0000000000340000ull,0x0000000000B40000ull,0x0000000000740000ull,0x0000000000F40000ull, 0x00000000000C0000ull,0x00000000008C0000ull,0x00000000004C0000ull,0x0000000000CC0000ull,0x00000000002C0000ull,0x0000000000AC0000ull,0x00000000006C0000ull,0x0000000000EC0000ull, 0x00000000001C0000ull,0x00000000009C0000ull,0x00000000005C0000ull,0x0000000000DC0000ull,0x00000000003C0000ull,0x0000000000BC0000ull,0x00000000007C0000ull,0x0000000000FC0000ull, 0x0000000000020000ull,0x0000000000820000ull,0x0000000000420000ull,0x0000000000C20000ull,0x0000000000220000ull,0x0000000000A20000ull,0x0000000000620000ull,0x0000000000E20000ull, 0x0000000000120000ull,0x0000000000920000ull,0x0000000000520000ull,0x0000000000D20000ull,0x0000000000320000ull,0x0000000000B20000ull,0x0000000000720000ull,0x0000000000F20000ull, 0x00000000000A0000ull,0x00000000008A0000ull,0x00000000004A0000ull,0x0000000000CA0000ull,0x00000000002A0000ull,0x0000000000AA0000ull,0x00000000006A0000ull,0x0000000000EA0000ull, 0x00000000001A0000ull,0x00000000009A0000ull,0x00000000005A0000ull,0x0000000000DA0000ull,0x00000000003A0000ull,0x0000000000BA0000ull,0x00000000007A0000ull,0x0000000000FA0000ull, 0x0000000000060000ull,0x0000000000860000ull,0x0000000000460000ull,0x0000000000C60000ull,0x0000000000260000ull,0x0000000000A60000ull,0x0000000000660000ull,0x0000000000E60000ull, 0x0000000000160000ull,0x0000000000960000ull,0x0000000000560000ull,0x0000000000D60000ull,0x0000000000360000ull,0x0000000000B60000ull,0x0000000000760000ull,0x0000000000F60000ull, 0x00000000000E0000ull,0x00000000008E0000ull,0x00000000004E0000ull,0x0000000000CE0000ull,0x00000000002E0000ull,0x0000000000AE0000ull,0x00000000006E0000ull,0x0000000000EE0000ull, 0x00000000001E0000ull,0x00000000009E0000ull,0x00000000005E0000ull,0x0000000000DE0000ull,0x00000000003E0000ull,0x0000000000BE0000ull,0x00000000007E0000ull,0x0000000000FE0000ull, 0x0000000000010000ull,0x0000000000810000ull,0x0000000000410000ull,0x0000000000C10000ull,0x0000000000210000ull,0x0000000000A10000ull,0x0000000000610000ull,0x0000000000E10000ull, 0x0000000000110000ull,0x0000000000910000ull,0x0000000000510000ull,0x0000000000D10000ull,0x0000000000310000ull,0x0000000000B10000ull,0x0000000000710000ull,0x0000000000F10000ull, 0x0000000000090000ull,0x0000000000890000ull,0x0000000000490000ull,0x0000000000C90000ull,0x0000000000290000ull,0x0000000000A90000ull,0x0000000000690000ull,0x0000000000E90000ull, 0x0000000000190000ull,0x0000000000990000ull,0x0000000000590000ull,0x0000000000D90000ull,0x0000000000390000ull,0x0000000000B90000ull,0x0000000000790000ull,0x0000000000F90000ull, 0x0000000000050000ull,0x0000000000850000ull,0x0000000000450000ull,0x0000000000C50000ull,0x0000000000250000ull,0x0000000000A50000ull,0x0000000000650000ull,0x0000000000E50000ull, 0x0000000000150000ull,0x0000000000950000ull,0x0000000000550000ull,0x0000000000D50000ull,0x0000000000350000ull,0x0000000000B50000ull,0x0000000000750000ull,0x0000000000F50000ull, 0x00000000000D0000ull,0x00000000008D0000ull,0x00000000004D0000ull,0x0000000000CD0000ull,0x00000000002D0000ull,0x0000000000AD0000ull,0x00000000006D0000ull,0x0000000000ED0000ull, 0x00000000001D0000ull,0x00000000009D0000ull,0x00000000005D0000ull,0x0000000000DD0000ull,0x00000000003D0000ull,0x0000000000BD0000ull,0x00000000007D0000ull,0x0000000000FD0000ull, 0x0000000000030000ull,0x0000000000830000ull,0x0000000000430000ull,0x0000000000C30000ull,0x0000000000230000ull,0x0000000000A30000ull,0x0000000000630000ull,0x0000000000E30000ull, 0x0000000000130000ull,0x0000000000930000ull,0x0000000000530000ull,0x0000000000D30000ull,0x0000000000330000ull,0x0000000000B30000ull,0x0000000000730000ull,0x0000000000F30000ull, 0x00000000000B0000ull,0x00000000008B0000ull,0x00000000004B0000ull,0x0000000000CB0000ull,0x00000000002B0000ull,0x0000000000AB0000ull,0x00000000006B0000ull,0x0000000000EB0000ull, 0x00000000001B0000ull,0x00000000009B0000ull,0x00000000005B0000ull,0x0000000000DB0000ull,0x00000000003B0000ull,0x0000000000BB0000ull,0x00000000007B0000ull,0x0000000000FB0000ull, 0x0000000000070000ull,0x0000000000870000ull,0x0000000000470000ull,0x0000000000C70000ull,0x0000000000270000ull,0x0000000000A70000ull,0x0000000000670000ull,0x0000000000E70000ull, 0x0000000000170000ull,0x0000000000970000ull,0x0000000000570000ull,0x0000000000D70000ull,0x0000000000370000ull,0x0000000000B70000ull,0x0000000000770000ull,0x0000000000F70000ull, 0x00000000000F0000ull,0x00000000008F0000ull,0x00000000004F0000ull,0x0000000000CF0000ull,0x00000000002F0000ull,0x0000000000AF0000ull,0x00000000006F0000ull,0x0000000000EF0000ull, 0x00000000001F0000ull,0x00000000009F0000ull,0x00000000005F0000ull,0x0000000000DF0000ull,0x00000000003F0000ull,0x0000000000BF0000ull,0x00000000007F0000ull,0x0000000000FF0000ull }; static const uint64_t t6[] = { 0x0000000000000000ull,0x0000000000008000ull,0x0000000000004000ull,0x000000000000C000ull,0x0000000000002000ull,0x000000000000A000ull,0x0000000000006000ull,0x000000000000E000ull, 0x0000000000001000ull,0x0000000000009000ull,0x0000000000005000ull,0x000000000000D000ull,0x0000000000003000ull,0x000000000000B000ull,0x0000000000007000ull,0x000000000000F000ull, 0x0000000000000800ull,0x0000000000008800ull,0x0000000000004800ull,0x000000000000C800ull,0x0000000000002800ull,0x000000000000A800ull,0x0000000000006800ull,0x000000000000E800ull, 0x0000000000001800ull,0x0000000000009800ull,0x0000000000005800ull,0x000000000000D800ull,0x0000000000003800ull,0x000000000000B800ull,0x0000000000007800ull,0x000000000000F800ull, 0x0000000000000400ull,0x0000000000008400ull,0x0000000000004400ull,0x000000000000C400ull,0x0000000000002400ull,0x000000000000A400ull,0x0000000000006400ull,0x000000000000E400ull, 0x0000000000001400ull,0x0000000000009400ull,0x0000000000005400ull,0x000000000000D400ull,0x0000000000003400ull,0x000000000000B400ull,0x0000000000007400ull,0x000000000000F400ull, 0x0000000000000C00ull,0x0000000000008C00ull,0x0000000000004C00ull,0x000000000000CC00ull,0x0000000000002C00ull,0x000000000000AC00ull,0x0000000000006C00ull,0x000000000000EC00ull, 0x0000000000001C00ull,0x0000000000009C00ull,0x0000000000005C00ull,0x000000000000DC00ull,0x0000000000003C00ull,0x000000000000BC00ull,0x0000000000007C00ull,0x000000000000FC00ull, 0x0000000000000200ull,0x0000000000008200ull,0x0000000000004200ull,0x000000000000C200ull,0x0000000000002200ull,0x000000000000A200ull,0x0000000000006200ull,0x000000000000E200ull, 0x0000000000001200ull,0x0000000000009200ull,0x0000000000005200ull,0x000000000000D200ull,0x0000000000003200ull,0x000000000000B200ull,0x0000000000007200ull,0x000000000000F200ull, 0x0000000000000A00ull,0x0000000000008A00ull,0x0000000000004A00ull,0x000000000000CA00ull,0x0000000000002A00ull,0x000000000000AA00ull,0x0000000000006A00ull,0x000000000000EA00ull, 0x0000000000001A00ull,0x0000000000009A00ull,0x0000000000005A00ull,0x000000000000DA00ull,0x0000000000003A00ull,0x000000000000BA00ull,0x0000000000007A00ull,0x000000000000FA00ull, 0x0000000000000600ull,0x0000000000008600ull,0x0000000000004600ull,0x000000000000C600ull,0x0000000000002600ull,0x000000000000A600ull,0x0000000000006600ull,0x000000000000E600ull, 0x0000000000001600ull,0x0000000000009600ull,0x0000000000005600ull,0x000000000000D600ull,0x0000000000003600ull,0x000000000000B600ull,0x0000000000007600ull,0x000000000000F600ull, 0x0000000000000E00ull,0x0000000000008E00ull,0x0000000000004E00ull,0x000000000000CE00ull,0x0000000000002E00ull,0x000000000000AE00ull,0x0000000000006E00ull,0x000000000000EE00ull, 0x0000000000001E00ull,0x0000000000009E00ull,0x0000000000005E00ull,0x000000000000DE00ull,0x0000000000003E00ull,0x000000000000BE00ull,0x0000000000007E00ull,0x000000000000FE00ull, 0x0000000000000100ull,0x0000000000008100ull,0x0000000000004100ull,0x000000000000C100ull,0x0000000000002100ull,0x000000000000A100ull,0x0000000000006100ull,0x000000000000E100ull, 0x0000000000001100ull,0x0000000000009100ull,0x0000000000005100ull,0x000000000000D100ull,0x0000000000003100ull,0x000000000000B100ull,0x0000000000007100ull,0x000000000000F100ull, 0x0000000000000900ull,0x0000000000008900ull,0x0000000000004900ull,0x000000000000C900ull,0x0000000000002900ull,0x000000000000A900ull,0x0000000000006900ull,0x000000000000E900ull, 0x0000000000001900ull,0x0000000000009900ull,0x0000000000005900ull,0x000000000000D900ull,0x0000000000003900ull,0x000000000000B900ull,0x0000000000007900ull,0x000000000000F900ull, 0x0000000000000500ull,0x0000000000008500ull,0x0000000000004500ull,0x000000000000C500ull,0x0000000000002500ull,0x000000000000A500ull,0x0000000000006500ull,0x000000000000E500ull, 0x0000000000001500ull,0x0000000000009500ull,0x0000000000005500ull,0x000000000000D500ull,0x0000000000003500ull,0x000000000000B500ull,0x0000000000007500ull,0x000000000000F500ull, 0x0000000000000D00ull,0x0000000000008D00ull,0x0000000000004D00ull,0x000000000000CD00ull,0x0000000000002D00ull,0x000000000000AD00ull,0x0000000000006D00ull,0x000000000000ED00ull, 0x0000000000001D00ull,0x0000000000009D00ull,0x0000000000005D00ull,0x000000000000DD00ull,0x0000000000003D00ull,0x000000000000BD00ull,0x0000000000007D00ull,0x000000000000FD00ull, 0x0000000000000300ull,0x0000000000008300ull,0x0000000000004300ull,0x000000000000C300ull,0x0000000000002300ull,0x000000000000A300ull,0x0000000000006300ull,0x000000000000E300ull, 0x0000000000001300ull,0x0000000000009300ull,0x0000000000005300ull,0x000000000000D300ull,0x0000000000003300ull,0x000000000000B300ull,0x0000000000007300ull,0x000000000000F300ull, 0x0000000000000B00ull,0x0000000000008B00ull,0x0000000000004B00ull,0x000000000000CB00ull,0x0000000000002B00ull,0x000000000000AB00ull,0x0000000000006B00ull,0x000000000000EB00ull, 0x0000000000001B00ull,0x0000000000009B00ull,0x0000000000005B00ull,0x000000000000DB00ull,0x0000000000003B00ull,0x000000000000BB00ull,0x0000000000007B00ull,0x000000000000FB00ull, 0x0000000000000700ull,0x0000000000008700ull,0x0000000000004700ull,0x000000000000C700ull,0x0000000000002700ull,0x000000000000A700ull,0x0000000000006700ull,0x000000000000E700ull, 0x0000000000001700ull,0x0000000000009700ull,0x0000000000005700ull,0x000000000000D700ull,0x0000000000003700ull,0x000000000000B700ull,0x0000000000007700ull,0x000000000000F700ull, 0x0000000000000F00ull,0x0000000000008F00ull,0x0000000000004F00ull,0x000000000000CF00ull,0x0000000000002F00ull,0x000000000000AF00ull,0x0000000000006F00ull,0x000000000000EF00ull, 0x0000000000001F00ull,0x0000000000009F00ull,0x0000000000005F00ull,0x000000000000DF00ull,0x0000000000003F00ull,0x000000000000BF00ull,0x0000000000007F00ull,0x000000000000FF00ull }; static const uint64_t t7[] = { 0x0000000000000000ull,0x0000000000000080ull,0x0000000000000040ull,0x00000000000000C0ull,0x0000000000000020ull,0x00000000000000A0ull,0x0000000000000060ull,0x00000000000000E0ull, 0x0000000000000010ull,0x0000000000000090ull,0x0000000000000050ull,0x00000000000000D0ull,0x0000000000000030ull,0x00000000000000B0ull,0x0000000000000070ull,0x00000000000000F0ull, 0x0000000000000008ull,0x0000000000000088ull,0x0000000000000048ull,0x00000000000000C8ull,0x0000000000000028ull,0x00000000000000A8ull,0x0000000000000068ull,0x00000000000000E8ull, 0x0000000000000018ull,0x0000000000000098ull,0x0000000000000058ull,0x00000000000000D8ull,0x0000000000000038ull,0x00000000000000B8ull,0x0000000000000078ull,0x00000000000000F8ull, 0x0000000000000004ull,0x0000000000000084ull,0x0000000000000044ull,0x00000000000000C4ull,0x0000000000000024ull,0x00000000000000A4ull,0x0000000000000064ull,0x00000000000000E4ull, 0x0000000000000014ull,0x0000000000000094ull,0x0000000000000054ull,0x00000000000000D4ull,0x0000000000000034ull,0x00000000000000B4ull,0x0000000000000074ull,0x00000000000000F4ull, 0x000000000000000Cull,0x000000000000008Cull,0x000000000000004Cull,0x00000000000000CCull,0x000000000000002Cull,0x00000000000000ACull,0x000000000000006Cull,0x00000000000000ECull, 0x000000000000001Cull,0x000000000000009Cull,0x000000000000005Cull,0x00000000000000DCull,0x000000000000003Cull,0x00000000000000BCull,0x000000000000007Cull,0x00000000000000FCull, 0x0000000000000002ull,0x0000000000000082ull,0x0000000000000042ull,0x00000000000000C2ull,0x0000000000000022ull,0x00000000000000A2ull,0x0000000000000062ull,0x00000000000000E2ull, 0x0000000000000012ull,0x0000000000000092ull,0x0000000000000052ull,0x00000000000000D2ull,0x0000000000000032ull,0x00000000000000B2ull,0x0000000000000072ull,0x00000000000000F2ull, 0x000000000000000Aull,0x000000000000008Aull,0x000000000000004Aull,0x00000000000000CAull,0x000000000000002Aull,0x00000000000000AAull,0x000000000000006Aull,0x00000000000000EAull, 0x000000000000001Aull,0x000000000000009Aull,0x000000000000005Aull,0x00000000000000DAull,0x000000000000003Aull,0x00000000000000BAull,0x000000000000007Aull,0x00000000000000FAull, 0x0000000000000006ull,0x0000000000000086ull,0x0000000000000046ull,0x00000000000000C6ull,0x0000000000000026ull,0x00000000000000A6ull,0x0000000000000066ull,0x00000000000000E6ull, 0x0000000000000016ull,0x0000000000000096ull,0x0000000000000056ull,0x00000000000000D6ull,0x0000000000000036ull,0x00000000000000B6ull,0x0000000000000076ull,0x00000000000000F6ull, 0x000000000000000Eull,0x000000000000008Eull,0x000000000000004Eull,0x00000000000000CEull,0x000000000000002Eull,0x00000000000000AEull,0x000000000000006Eull,0x00000000000000EEull, 0x000000000000001Eull,0x000000000000009Eull,0x000000000000005Eull,0x00000000000000DEull,0x000000000000003Eull,0x00000000000000BEull,0x000000000000007Eull,0x00000000000000FEull, 0x0000000000000001ull,0x0000000000000081ull,0x0000000000000041ull,0x00000000000000C1ull,0x0000000000000021ull,0x00000000000000A1ull,0x0000000000000061ull,0x00000000000000E1ull, 0x0000000000000011ull,0x0000000000000091ull,0x0000000000000051ull,0x00000000000000D1ull,0x0000000000000031ull,0x00000000000000B1ull,0x0000000000000071ull,0x00000000000000F1ull, 0x0000000000000009ull,0x0000000000000089ull,0x0000000000000049ull,0x00000000000000C9ull,0x0000000000000029ull,0x00000000000000A9ull,0x0000000000000069ull,0x00000000000000E9ull, 0x0000000000000019ull,0x0000000000000099ull,0x0000000000000059ull,0x00000000000000D9ull,0x0000000000000039ull,0x00000000000000B9ull,0x0000000000000079ull,0x00000000000000F9ull, 0x0000000000000005ull,0x0000000000000085ull,0x0000000000000045ull,0x00000000000000C5ull,0x0000000000000025ull,0x00000000000000A5ull,0x0000000000000065ull,0x00000000000000E5ull, 0x0000000000000015ull,0x0000000000000095ull,0x0000000000000055ull,0x00000000000000D5ull,0x0000000000000035ull,0x00000000000000B5ull,0x0000000000000075ull,0x00000000000000F5ull, 0x000000000000000Dull,0x000000000000008Dull,0x000000000000004Dull,0x00000000000000CDull,0x000000000000002Dull,0x00000000000000ADull,0x000000000000006Dull,0x00000000000000EDull, 0x000000000000001Dull,0x000000000000009Dull,0x000000000000005Dull,0x00000000000000DDull,0x000000000000003Dull,0x00000000000000BDull,0x000000000000007Dull,0x00000000000000FDull, 0x0000000000000003ull,0x0000000000000083ull,0x0000000000000043ull,0x00000000000000C3ull,0x0000000000000023ull,0x00000000000000A3ull,0x0000000000000063ull,0x00000000000000E3ull, 0x0000000000000013ull,0x0000000000000093ull,0x0000000000000053ull,0x00000000000000D3ull,0x0000000000000033ull,0x00000000000000B3ull,0x0000000000000073ull,0x00000000000000F3ull, 0x000000000000000Bull,0x000000000000008Bull,0x000000000000004Bull,0x00000000000000CBull,0x000000000000002Bull,0x00000000000000ABull,0x000000000000006Bull,0x00000000000000EBull, 0x000000000000001Bull,0x000000000000009Bull,0x000000000000005Bull,0x00000000000000DBull,0x000000000000003Bull,0x00000000000000BBull,0x000000000000007Bull,0x00000000000000FBull, 0x0000000000000007ull,0x0000000000000087ull,0x0000000000000047ull,0x00000000000000C7ull,0x0000000000000027ull,0x00000000000000A7ull,0x0000000000000067ull,0x00000000000000E7ull, 0x0000000000000017ull,0x0000000000000097ull,0x0000000000000057ull,0x00000000000000D7ull,0x0000000000000037ull,0x00000000000000B7ull,0x0000000000000077ull,0x00000000000000F7ull, 0x000000000000000Full,0x000000000000008Full,0x000000000000004Full,0x00000000000000CFull,0x000000000000002Full,0x00000000000000AFull,0x000000000000006Full,0x00000000000000EFull, 0x000000000000001Full,0x000000000000009Full,0x000000000000005Full,0x00000000000000DFull,0x000000000000003Full,0x00000000000000BFull,0x000000000000007Full,0x00000000000000FFull }; union Encoder { uint8_t b[8]; uint64_t data; }; uint64_t encode(uint64_t data) { union Encoder e; e.data = data; return t0[e.b[0]] | t1[e.b[1]] | t2[e.b[2]] | t3[e.b[3]] | t4[e.b[4]] | t5[e.b[5]] | t6[e.b[6]] | t7[e.b[7]]; } /* Test */ #include <stdio.h> void t(uint64_t v) { printf("%016llX -> %016llX\n", v, encode(v)); } int main() { uint64_t v=1; int i; for(i=0;i<64; i++, v<<=1) { t(v); } t(0x0123456789ABCDEFull); } После строки /* Test */ специально для вас написал тестовый кусок. Вот выхлоп: 0000000000000001 -> 8000000000000000 0000000000000002 -> 4000000000000000 0000000000000004 -> 2000000000000000 0000000000000008 -> 1000000000000000 0000000000000010 -> 0800000000000000 0000000000000020 -> 0400000000000000 0000000000000040 -> 0200000000000000 0000000000000080 -> 0100000000000000 0000000000000100 -> 0080000000000000 0000000000000200 -> 0040000000000000 0000000000000400 -> 0020000000000000 0000000000000800 -> 0010000000000000 0000000000001000 -> 0008000000000000 0000000000002000 -> 0004000000000000 0000000000004000 -> 0002000000000000 0000000000008000 -> 0001000000000000 0000000000010000 -> 0000800000000000 0000000000020000 -> 0000400000000000 0000000000040000 -> 0000200000000000 0000000000080000 -> 0000100000000000 0000000000100000 -> 0000080000000000 0000000000200000 -> 0000040000000000 0000000000400000 -> 0000020000000000 0000000000800000 -> 0000010000000000 0000000001000000 -> 0000008000000000 0000000002000000 -> 0000004000000000 0000000004000000 -> 0000002000000000 0000000008000000 -> 0000001000000000 0000000010000000 -> 0000000800000000 0000000020000000 -> 0000000400000000 0000000040000000 -> 0000000200000000 0000000080000000 -> 0000000100000000 0000000100000000 -> 0000000080000000 0000000200000000 -> 0000000040000000 0000000400000000 -> 0000000020000000 0000000800000000 -> 0000000010000000 0000001000000000 -> 0000000008000000 0000002000000000 -> 0000000004000000 0000004000000000 -> 0000000002000000 0000008000000000 -> 0000000001000000 0000010000000000 -> 0000000000800000 0000020000000000 -> 0000000000400000 0000040000000000 -> 0000000000200000 0000080000000000 -> 0000000000100000 0000100000000000 -> 0000000000080000 0000200000000000 -> 0000000000040000 0000400000000000 -> 0000000000020000 0000800000000000 -> 0000000000010000 0001000000000000 -> 0000000000008000 0002000000000000 -> 0000000000004000 0004000000000000 -> 0000000000002000 0008000000000000 -> 0000000000001000 0010000000000000 -> 0000000000000800 0020000000000000 -> 0000000000000400 0040000000000000 -> 0000000000000200 0080000000000000 -> 0000000000000100 0100000000000000 -> 0000000000000080 0200000000000000 -> 0000000000000040 0400000000000000 -> 0000000000000020 0800000000000000 -> 0000000000000010 1000000000000000 -> 0000000000000008 2000000000000000 -> 0000000000000004 4000000000000000 -> 0000000000000002 8000000000000000 -> 0000000000000001 0123456789ABCDEF -> F7B3D591E6A2C480 Т.е. слились. Как и следовало ожидать PS. В примере закодирован своп битов (0->63, 1->62 и т.д.) -
Есть ли в Cortex-M3 инструкция копирования битов?
xvr replied to Arlleex's topic in ARM, 32bit
Вы читать умеете? Я же писал пару постов назад: Так что result 64 бита, или 8 байтов (для тех, кто не умеет считать) Не нужен, об этом я тоже писал Гм, ещё раз? ЭТО ВЕСЬ КОД! Корона не жмёт? По вашим словам можно подумать, что во всём электрониксе только вы рабочие коды приводите 2 ТС: код и таблицы рабочие, можете брать, если хотите 2 jcxz: это магия, забейте -
Не могу открыть COM-порт в HyperTerminal ни в какую
xvr replied to Alex_Golubev's topic in В помощь начинающему
Тогда увы. -
xvr started following Сборка, детали, регулятор, Не могу открыть COM-порт в HyperTerminal ни в какую, Есть ли в Cortex-M3 инструкция копирования битов? and and 3 others
-
Не могу открыть COM-порт в HyperTerminal ни в какую
xvr replied to Alex_Golubev's topic in В помощь начинающему
Номер порта случайно не 2х значный (или более)? Для таких портов есть 'особенности' -
Есть ли в Cortex-M3 инструкция копирования битов?
xvr replied to Arlleex's topic in ARM, 32bit
Вот скрипт на питоне, который создаёт те самые таблицы (питон 3, 64 бита) bit_enc = [ 63,62,61,60,59,58,57,56, 55,54,53,52,51,50,49,48, 47,46,45,44,43,42,41,40, 39,38,37,36,35,34,33,32, 31,30,29,28,27,26,25,24, 23,22,21,20,19,18,17,16, 15,14,13,12,11,10,9,8, 7,6,5,4,3,2,1,0 ] def encode1(enc_vector, table_name): table_image = [] for idx in range(0,256): acc = 0 for i in range(0, 8): if (idx >> i) & 1: acc |= 1 << enc_vector[i] table_image.append(acc) lines = [] for l in range(0, 256, 8): lines.append(','.join(f'0x{i:016X}' for i in table_image[l : (l+8)])) line = ',\n'.join(lines) print(f'uint64_t {table_name}[] = {{\n{line}\n}};') for i in range(0, 8): encode1(bit_enc[(i*8) : (i*8+8)], f't{i}') Массив bit_enc задаёт таблицу перестановки битов: В N ячейке массива должен быть номер бита, куда нужно будет переставить N входной бит -
Есть ли в Cortex-M3 инструкция копирования битов?
xvr replied to Arlleex's topic in ARM, 32bit
Разрядность x равна 8*8 = 64. Перекодировка будет работать. Именно так. Нет, не так. В данном случае используется свойство самой функции f(x) Советую снять корону и ещё раз внимательно прочитать, что именно предлагается. Пока чушь пишете вы -
Есть ли в Cortex-M3 инструкция копирования битов?
xvr replied to Arlleex's topic in ARM, 32bit
Вы сами написали Я и написал для 1 выходного байта. Нужно больше - расширяйте таблицы. uint64_t t0...7[256] вас спасёт. Код остаётся тот же Не устраивают uint64_t - соберите выход из кусков поменьше (количество таблиц конечно увеличится) -
Есть ли в Cortex-M3 инструкция копирования битов?
xvr replied to Arlleex's topic in ARM, 32bit
Входные данные - 8 байтов в виде 8 переменных b0, b1, ... b7 таблицы перекодировок - 8 штук типа uint8_t t0/1/.../7[256]={...} Перекодировка: result = t0[b0] | t1[b1] | t2[b2] | ... t7[b7]; -
Есть ли в Cortex-M3 инструкция копирования битов?
xvr replied to Arlleex's topic in ARM, 32bit
Я же писал - 8 таблиц по 256 байтов (если 8 байтов -> 1 байт) При условии что у ТС чистая перестановка битов (как он в самом начале писал) -
Есть ли в Cortex-M3 инструкция копирования битов?
xvr replied to Arlleex's topic in ARM, 32bit
Если в контролере есть достаточно памяти, то можно не заниматься перекладыванием данных побитно, а перекодировать с помощью массива констант. Например для перекодирования 8 битов достаточно массива на 256 байтов. Если битов больше, можно массивы порезать (например по байтам). Тогда для перекодировки 32х битов понадобится 4 массива из 256 32х битных слов -
Keil Uvision5 обращение к массиву через указатель
xvr replied to NikP's topic in Программирование
Вангую, что ТС написал это на глобальном уровне (вне какой либо функции). Так действительно будет ругаться 2 ТС - попробуйте так: uint8_t DataMas[16] ; uint8_t * P8DataMas = (uint8_t*) DataMas; -
Сложение двух отрицательных чисел.
xvr replied to МАСТЕР LO's topic in Языки проектирования на ПЛИС (FPGA)
Немного занудства - в мире CPU знаковое переполнение вычисляется как исключающее или переноса ИЗ старшего разряда и В старший разряд -
Применить CRC для массива.
xvr replied to jenya7's topic in Языки проектирования на ПЛИС (FPGA)
Это неправильный crc - у правильного crc ещё должен быть входной порт crc_in: in std_logic_vector(15 downto 0) Это тем более не правильно -
Плавный переход C -> C++ под МК
xvr replied to Arlleex's topic in Программирование
const метод класса можно вызывать для const экземпляров класса. Обычные методы вызывать нельзя. Например: class Test { public: void const_method() const; void no_const_method(); }; void test_func(const Test& test) { test.const_method(); // ok test.no_const_method(); // error } Компилятор хочет что бы вы ему посвежее стандарт поставили (С++11 не поддерживает эти фичи, их внесли обратно из С99 позже) Он же пишет в самом варнинге -Wc99-designator. В gcc это отключается -Wno-c99-warning, как в Keil не знаю, но подозреваю, что так же -
Сборка, детали, регулятор
xvr replied to Poison's topic in В помощь начинающему
На плате подписаны посадочные места - туда и паять Можно, если 1000мкф нет. При большой нагрузке могут на выходе появиться пульсации Похоже это предохранитель (ВХ) PS. Микросхема то стабилизатора на плате есть? Сверху не видно