| ofs | hex dump | ascii |
|---|
| 0000 | 00 00 0f 81 00 00 55 3c 00 00 00 15 00 00 10 00 00 00 00 00 32 30 31 39 2e 33 2e 36 66 31 00 fe | ......U<............2019.3.6f1.. |
| 0020 | ff ff ff 01 02 00 00 00 0b 04 00 00 00 ff ff 66 9a 86 21 eb 14 35 98 39 dd 34 1d 51 0e c1 f3 42 | ...............f..!..5.9.4.Q...B |
| 0040 | 00 00 00 ed 00 00 00 02 00 00 00 00 00 00 00 37 00 00 80 ff ff ff ff 00 00 00 00 00 80 00 00 00 | ...............7................ |
| 0060 | 00 00 00 00 00 00 00 01 00 01 00 a6 03 00 80 b2 01 00 80 04 00 00 00 01 00 00 00 01 00 00 00 00 | ................................ |
| 0080 | 00 00 00 00 00 00 00 01 00 01 00 0d 00 00 00 45 04 00 80 0c 00 00 00 02 00 00 00 01 00 00 00 00 | ...............E................ |
| 00a0 | 00 00 00 00 00 00 00 01 00 02 00 de 00 00 80 23 00 00 00 04 00 00 00 03 00 00 00 01 00 80 00 00 | ...............#................ |
| 00c0 | 00 00 00 00 00 00 00 01 00 02 00 2e 03 00 80 2c 00 00 00 08 00 00 00 04 00 00 00 01 00 80 00 00 | ...............,................ |
| 00e0 | 00 00 00 00 00 00 00 01 00 01 00 35 00 00 00 61 04 00 80 0c 00 00 00 05 00 00 00 01 00 00 00 00 | ...........5...a................ |
| 0100 | 00 00 00 00 00 00 00 01 00 02 00 de 00 00 80 23 00 00 00 04 00 00 00 06 00 00 00 01 00 80 00 00 | ...............#................ |
| 0120 | 00 00 00 00 00 00 00 01 00 02 00 2e 03 00 80 2c 00 00 00 08 00 00 00 07 00 00 00 01 00 80 00 00 | ...............,................ |
| 0140 | 00 00 00 00 00 00 00 01 00 01 00 86 02 00 80 72 04 00 80 0c 00 00 00 08 00 00 00 01 00 00 00 00 | ...............r................ |
| 0160 | 00 00 00 00 00 00 00 01 00 02 00 de 00 00 80 23 00 00 00 04 00 00 00 09 00 00 00 01 00 80 00 00 | ...............#................ |
| 0180 | 00 00 00 00 00 00 00 01 00 02 00 2e 03 00 80 2c 00 00 00 08 00 00 00 0a 00 00 00 01 00 80 00 00 | ...............,................ |
| 01a0 | 00 00 00 00 00 00 00 01 00 01 00 48 03 00 80 ab 01 00 80 ff ff ff ff 0b 00 00 00 01 80 08 00 00 | ...........H.................... |
| 01c0 | 00 00 00 00 00 00 00 01 00 02 01 31 00 00 80 31 00 00 80 ff ff ff ff 0c 00 00 00 01 40 08 00 00 | ...........1...1............@... |
| 01e0 | 00 00 00 00 00 00 00 01 00 03 00 de 00 00 80 1b 03 00 80 04 00 00 00 0d 00 00 00 01 00 08 00 00 | ................................ |
| 0200 | 00 00 00 00 00 00 00 01 00 03 00 51 00 00 80 6a 00 00 80 01 00 00 00 0e 00 00 00 01 00 08 00 00 | ...........Q...j................ |
| 0220 | 00 00 00 00 00 00 00 01 00 01 00 f1 00 00 80 4a 00 00 00 ff ff ff ff 0f 00 00 00 00 c0 00 00 00 | ...............J................ |
| 0240 | 00 00 00 00 00 00 00 01 00 02 01 31 00 00 80 31 00 00 80 ff ff ff ff 10 00 00 00 00 80 00 00 00 | ...........1...1................ |
| 0260 | 00 00 00 00 00 00 00 01 00 03 00 de 00 00 80 1b 03 00 80 04 00 00 00 11 00 00 00 00 00 00 00 00 | ................................ |
| 0280 | 00 00 00 00 00 00 00 01 00 03 00 1f 02 00 80 6a 00 00 80 ff ff ff ff 12 00 00 00 00 80 00 00 00 | ...............j................ |
| 02a0 | 00 00 00 00 00 00 00 01 00 04 00 5c 00 00 00 9b 00 00 80 ff ff ff ff 13 00 00 00 00 80 00 00 00 | ...........\.................... |
| 02c0 | 00 00 00 00 00 00 00 01 00 05 00 48 03 00 80 72 00 00 00 ff ff ff ff 14 00 00 00 00 80 00 00 00 | ...........H...r................ |
| 02e0 | 00 00 00 00 00 00 00 01 00 06 01 31 00 00 80 31 00 00 80 ff ff ff ff 15 00 00 00 01 40 00 00 00 | ...........1...1............@... |
| 0300 | 00 00 00 00 00 00 00 01 00 07 00 de 00 00 80 1b 03 00 80 04 00 00 00 16 00 00 00 01 00 00 00 00 | ................................ |
| 0320 | 00 00 00 00 00 00 00 01 00 07 00 51 00 00 80 6a 00 00 80 01 00 00 00 17 00 00 00 01 00 00 00 00 | ...........Q...j................ |
| 0340 | 00 00 00 00 00 00 00 01 00 05 00 48 03 00 80 77 00 00 00 ff ff ff ff 18 00 00 00 00 80 00 00 00 | ...........H...w................ |
| 0360 | 00 00 00 00 00 00 00 01 00 06 01 31 00 00 80 31 00 00 80 ff ff ff ff 19 00 00 00 01 40 00 00 00 | ...........1...1............@... |
| 0380 | 00 00 00 00 00 00 00 01 00 07 00 de 00 00 80 1b 03 00 80 04 00 00 00 1a 00 00 00 01 00 00 00 00 | ................................ |
| 03a0 | 00 00 00 00 00 00 00 01 00 07 00 51 00 00 80 6a 00 00 80 01 00 00 00 1b 00 00 00 01 00 00 00 00 | ...........Q...j................ |
| 03c0 | 00 00 00 00 00 00 00 01 00 05 00 48 03 00 80 80 00 00 00 ff ff ff ff 1c 00 00 00 00 80 00 00 00 | ...........H.................... |
| 03e0 | 00 00 00 00 00 00 00 01 00 06 01 31 00 00 80 31 00 00 80 ff ff ff ff 1d 00 00 00 01 40 00 00 00 | ...........1...1............@... |
| 0400 | 00 00 00 00 00 00 00 01 00 07 00 de 00 00 80 1b 03 00 80 04 00 00 00 1e 00 00 00 01 00 00 00 00 | ................................ |
| 0420 | 00 00 00 00 00 00 00 01 00 07 00 51 00 00 80 6a 00 00 80 01 00 00 00 1f 00 00 00 01 00 00 00 00 | ...........Q...j................ |
| 0440 | 00 00 00 00 00 00 00 01 00 04 00 79 02 00 80 0a 03 00 80 0c 00 00 00 20 00 00 00 00 00 00 00 00 | ...........y.................... |
| 0460 | 00 00 00 00 00 00 00 01 00 05 00 de 00 00 80 23 00 00 00 04 00 00 00 21 00 00 00 01 00 80 00 00 | ...............#.......!........ |
| 0480 | 00 00 00 00 00 00 00 01 00 05 00 2e 03 00 80 2c 00 00 00 08 00 00 00 22 00 00 00 01 00 80 00 00 | ...............,......."........ |
| 04a0 | 00 00 00 00 00 00 00 01 00 01 00 11 03 00 80 85 00 00 00 ff ff ff ff 23 00 00 00 01 40 08 00 00 | .......................#....@... |
| 04c0 | 00 00 00 00 00 00 00 01 00 02 01 31 00 00 80 31 00 00 80 ff ff ff ff 24 00 00 00 01 00 08 00 00 | ...........1...1.......$........ |
| 04e0 | 00 00 00 00 00 00 00 01 00 03 00 de 00 00 80 1b 03 00 80 04 00 00 00 25 00 00 00 01 00 08 00 00 | .......................%........ |
| 0500 | 00 00 00 00 00 00 00 01 00 03 00 2e 03 00 80 6a 00 00 80 08 00 00 00 26 00 00 00 01 00 08 00 00 | ...............j.......&........ |
| 0520 | 00 00 00 00 00 00 00 01 00 01 00 d5 03 00 80 93 00 00 00 ff ff ff ff 27 00 00 00 00 80 00 00 00 | .......................'........ |
| 0540 | 00 00 00 00 00 00 00 01 00 02 01 31 00 00 80 31 00 00 80 ff ff ff ff 28 00 00 00 00 c0 00 00 00 | ...........1...1.......(........ |
| 0560 | 00 00 00 00 00 00 00 01 00 03 00 de 00 00 80 1b 03 00 80 04 00 00 00 29 00 00 00 00 00 00 00 00 | .......................)........ |
| 0580 | 00 00 00 00 00 00 00 01 00 03 00 1f 02 00 80 6a 00 00 80 ff ff ff ff 2a 00 00 00 00 80 00 00 00 | ...............j.......*........ |
| 05a0 | 00 00 00 00 00 00 00 01 00 04 00 48 03 00 80 9b 00 00 80 ff ff ff ff 2b 00 00 00 00 80 00 00 00 | ...........H...........+........ |
| 05c0 | 00 00 00 00 00 00 00 01 00 05 01 31 00 00 80 31 00 00 80 ff ff ff ff 2c 00 00 00 01 40 00 00 00 | ...........1...1.......,....@... |
| 05e0 | 00 00 00 00 00 00 00 01 00 06 00 de 00 00 80 1b 03 00 80 04 00 00 00 2d 00 00 00 01 00 00 00 00 | .......................-........ |
| 0600 | 00 00 00 00 00 00 00 01 00 06 00 51 00 00 80 6a 00 00 80 01 00 00 00 2e 00 00 00 01 00 00 00 00 | ...........Q...j................ |
| 0620 | 00 00 00 00 00 00 00 01 00 04 00 79 02 00 80 0a 03 00 80 0c 00 00 00 2f 00 00 00 00 00 00 00 00 | ...........y.........../........ |
| 0640 | 00 00 00 00 00 00 00 01 00 05 00 de 00 00 80 23 00 00 00 04 00 00 00 30 00 00 00 01 00 80 00 00 | ...............#.......0........ |
| 0660 | 00 00 00 00 00 00 00 01 00 05 00 2e 03 00 80 2c 00 00 00 08 00 00 00 31 00 00 00 01 00 80 00 00 | ...............,.......1........ |
| 0680 | 00 00 00 00 00 00 00 01 00 01 00 20 03 00 80 a7 00 00 00 02 00 00 00 32 00 00 00 00 40 00 00 00 | .......................2....@... |
| 06a0 | 00 00 00 00 00 00 00 01 00 01 00 be 02 00 80 b6 00 00 00 0c 00 00 00 33 00 00 00 00 40 00 00 00 | .......................3....@... |
| 06c0 | 00 00 00 00 00 00 00 01 00 02 00 de 00 00 80 23 00 00 00 04 00 00 00 34 00 00 00 01 00 80 00 00 | ...............#.......4........ |
| 06e0 | 00 00 00 00 00 00 00 01 00 02 00 2e 03 00 80 2c 00 00 00 08 00 00 00 35 00 00 00 01 00 80 00 00 | ...............,.......5........ |
| 0700 | 00 00 00 00 00 00 00 01 00 01 00 48 03 00 80 bb 00 00 00 ff ff ff ff 36 00 00 00 01 80 00 00 00 | ...........H...........6........ |
| 0720 | 00 00 00 00 00 00 00 01 00 02 01 31 00 00 80 31 00 00 80 ff ff ff ff 37 00 00 00 01 40 00 00 00 | ...........1...1.......7....@... |
| 0740 | 00 00 00 00 00 00 00 01 00 03 00 de 00 00 80 1b 03 00 80 04 00 00 00 38 00 00 00 01 00 00 00 00 | .......................8........ |
| 0760 | 00 00 00 00 00 00 00 01 00 03 00 51 00 00 80 6a 00 00 80 01 00 00 00 39 00 00 00 01 00 00 00 00 | ...........Q...j.......9........ |
| 0780 | 00 00 00 00 00 00 00 01 00 01 00 48 03 00 80 c6 00 00 00 ff ff ff ff 3a 00 00 00 01 80 00 00 00 | ...........H...........:........ |
| 07a0 | 00 00 00 00 00 00 00 01 00 02 01 31 00 00 80 31 00 00 80 ff ff ff ff 3b 00 00 00 01 40 00 00 00 | ...........1...1.......;....@... |
| 07c0 | 00 00 00 00 00 00 00 01 00 03 00 de 00 00 80 1b 03 00 80 04 00 00 00 3c 00 00 00 01 00 00 00 00 | .......................<........ |
| 07e0 | 00 00 00 00 00 00 00 01 00 03 00 51 00 00 80 6a 00 00 80 01 00 00 00 3d 00 00 00 01 00 00 00 00 | ...........Q...j.......=........ |
| 0800 | 00 00 00 00 00 00 00 01 00 01 00 48 03 00 80 d8 00 00 00 ff ff ff ff 3e 00 00 00 01 80 00 00 00 | ...........H...........>........ |
| 0820 | 00 00 00 00 00 00 00 01 00 02 01 31 00 00 80 31 00 00 80 ff ff ff ff 3f 00 00 00 01 40 00 00 00 | ...........1...1.......?....@... |
| 0840 | 00 00 00 00 00 00 00 01 00 03 00 de 00 00 80 1b 03 00 80 04 00 00 00 40 00 00 00 01 00 00 00 00 | .......................@........ |
| 0860 | 00 00 00 00 00 00 00 01 00 03 00 51 00 00 80 6a 00 00 80 01 00 00 00 41 00 00 00 01 00 00 00 00 | ...........Q...j.......A........ |
| 0880 | 00 00 00 00 00 00 00 4d 6f 6e 6f 49 6d 70 6f 72 74 65 72 00 50 50 74 72 3c 45 64 69 74 6f 72 45 | .......MonoImporter.PPtr<EditorE |
| 08a0 | 78 74 65 6e 73 69 6f 6e 3e 00 6d 5f 46 69 6c 65 49 44 00 6d 5f 50 61 74 68 49 44 00 50 50 74 72 | xtension>.m_FileID.m_PathID.PPtr |
| 08c0 | 3c 50 72 65 66 61 62 49 6e 73 74 61 6e 63 65 3e 00 6d 5f 45 78 74 65 72 6e 61 6c 4f 62 6a 65 63 | <PrefabInstance>.m_ExternalObjec |
| 08e0 | 74 73 00 53 6f 75 72 63 65 41 73 73 65 74 49 64 65 6e 74 69 66 69 65 72 00 74 79 70 65 00 61 73 | ts.SourceAssetIdentifier.type.as |
| 0900 | 73 65 6d 62 6c 79 00 6e 61 6d 65 00 6d 5f 55 73 65 64 46 69 6c 65 49 44 73 00 6d 5f 44 65 66 61 | sembly.name.m_UsedFileIDs.m_Defa |
| 0920 | 75 6c 74 52 65 66 65 72 65 6e 63 65 73 00 65 78 65 63 75 74 69 6f 6e 4f 72 64 65 72 00 69 63 6f | ultReferences.executionOrder.ico |
| 0940 | 6e 00 6d 5f 55 73 65 72 44 61 74 61 00 6d 5f 41 73 73 65 74 42 75 6e 64 6c 65 4e 61 6d 65 00 6d | n.m_UserData.m_AssetBundleName.m |
| 0960 | 5f 41 73 73 65 74 42 75 6e 64 6c 65 56 61 72 69 61 6e 74 00 00 00 00 00 73 00 00 00 00 ff ff a3 | _AssetBundleVariant.....s....... |
| 0980 | 47 f1 d7 dc 8f 5a 35 36 a0 3a 21 40 69 c1 4a 2a 00 00 00 81 00 00 00 05 00 00 00 15 01 00 80 37 | G....Z56.:!@i.J*...............7 |
| 09a0 | 00 00 80 ff ff ff ff 00 00 00 00 00 80 00 00 00 00 00 00 00 00 00 00 01 00 01 00 a6 03 00 80 b2 | ................................ |
| 09c0 | 01 00 80 04 00 00 00 01 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 01 00 01 00 00 00 00 00 45 | ...............................E |
| 09e0 | 04 00 80 0c 00 00 00 02 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 01 00 02 00 de 00 00 80 16 | ................................ |
| 0a00 | 00 00 00 04 00 00 00 03 00 00 00 01 00 80 00 00 00 00 00 00 00 00 00 01 00 02 00 2e 03 00 80 1f | ................................ |
| 0a20 | 00 00 00 08 00 00 00 04 00 00 00 01 00 80 00 00 00 00 00 00 00 00 00 01 00 01 00 28 00 00 00 61 | ...........................(...a |
| 0a40 | 04 00 80 0c 00 00 00 05 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 01 00 02 00 de 00 00 80 16 | ................................ |
| 0a60 | 00 00 00 04 00 00 00 06 00 00 00 01 00 80 00 00 00 00 00 00 00 00 00 01 00 02 00 2e 03 00 80 1f | ................................ |
| 0a80 | 00 00 00 08 00 00 00 07 00 00 00 01 00 80 00 00 00 00 00 00 00 00 00 01 00 01 00 86 02 00 80 72 | ...............................r |
| 0aa0 | 04 00 80 0c 00 00 00 08 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 01 00 02 00 de 00 00 80 16 | ................................ |
| 0ac0 | 00 00 00 04 00 00 00 09 00 00 00 01 00 80 00 00 00 00 00 00 00 00 00 01 00 02 00 2e 03 00 80 1f | ................................ |
| 0ae0 | 00 00 00 08 00 00 00 0a 00 00 00 01 00 80 00 00 00 00 00 00 00 00 00 01 00 01 00 48 03 00 80 ab | ...........................H.... |
| 0b00 | 01 00 80 ff ff ff ff 0b 00 00 00 01 80 08 00 00 00 00 00 00 00 00 00 01 00 02 01 31 00 00 80 31 | ...........................1...1 |
| 0b20 | 00 00 80 ff ff ff ff 0c 00 00 00 01 40 08 00 00 00 00 00 00 00 00 00 01 00 03 00 de 00 00 80 1b | ............@................... |
| 0b40 | 03 00 80 04 00 00 00 0d 00 00 00 01 00 08 00 00 00 00 00 00 00 00 00 01 00 03 00 51 00 00 80 6a | ...........................Q...j |
| 0b60 | 00 00 80 01 00 00 00 0e 00 00 00 01 00 08 00 00 00 00 00 00 00 00 00 01 00 01 00 48 03 00 80 ea | ...........................H.... |
| 0b80 | 01 00 80 ff ff ff ff 0f 00 00 00 01 80 00 00 00 00 00 00 00 00 00 00 01 00 02 01 31 00 00 80 31 | ...........................1...1 |
| 0ba0 | 00 00 80 ff ff ff ff 10 00 00 00 01 40 00 00 00 00 00 00 00 00 00 00 01 00 03 00 de 00 00 80 1b | ............@................... |
| 0bc0 | 03 00 80 04 00 00 00 11 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 01 00 03 00 51 00 00 80 6a | ...........................Q...j |
| 0be0 | 00 00 80 01 00 00 00 12 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 01 00 01 00 f1 00 00 80 3d | ...............................= |
| 0c00 | 00 00 00 ff ff ff ff 13 00 00 00 01 80 00 00 00 00 00 00 00 00 00 00 01 00 02 01 31 00 00 80 31 | ...........................1...1 |
| 0c20 | 00 00 80 ff ff ff ff 14 00 00 00 01 80 00 00 00 00 00 00 00 00 00 00 01 00 03 00 de 00 00 80 1b | ................................ |
| 0c40 | 03 00 80 04 00 00 00 15 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 01 00 03 00 1f 02 00 80 6a | ...............................j |
| 0c60 | 00 00 80 ff ff ff ff 16 00 00 00 01 80 00 00 00 00 00 00 00 00 00 00 01 00 04 00 48 03 00 80 9b | ...........................H.... |
| 0c80 | 00 00 80 ff ff ff ff 17 00 00 00 01 80 00 00 00 00 00 00 00 00 00 00 01 00 05 01 31 00 00 80 31 | ...........................1...1 |
| 0ca0 | 00 00 80 ff ff ff ff 18 00 00 00 01 40 00 00 00 00 00 00 00 00 00 00 01 00 06 00 de 00 00 80 1b | ............@................... |
| 0cc0 | 03 00 80 04 00 00 00 19 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 01 00 06 00 51 00 00 80 6a | ...........................Q...j |
| 0ce0 | 00 00 80 01 00 00 00 1a 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 01 00 04 00 79 02 00 80 0a | ...........................y.... |
| 0d00 | 03 00 80 0c 00 00 00 1b 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 01 00 05 00 de 00 00 80 16 | ................................ |
| 0d20 | 00 00 00 04 00 00 00 1c 00 00 00 01 00 80 00 00 00 00 00 00 00 00 00 01 00 05 00 2e 03 00 80 1f | ................................ |
| 0d40 | 00 00 00 08 00 00 00 1d 00 00 00 01 00 80 00 00 00 00 00 00 00 00 00 01 00 01 00 79 02 00 80 51 | ...........................y...Q |
| 0d60 | 00 00 00 0c 00 00 00 1e 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 02 00 de 00 00 80 16 | ................................ |
| 0d80 | 00 00 00 04 00 00 00 1f 00 00 00 01 00 80 00 00 00 00 00 00 00 00 00 01 00 02 00 2e 03 00 80 1f | ................................ |
| 0da0 | 00 00 00 08 00 00 00 20 00 00 00 01 00 80 00 00 00 00 00 00 00 00 00 01 00 01 00 de 00 00 80 58 | ...............................X |
| 0dc0 | 00 00 00 04 00 00 00 21 00 00 00 10 00 00 00 00 00 00 00 00 00 00 00 01 00 01 00 48 03 00 80 69 | .......!...................H...i |
| 0de0 | 00 00 00 ff ff ff ff 22 00 00 00 10 80 00 00 00 00 00 00 00 00 00 00 01 00 02 01 31 00 00 80 31 | ......."...................1...1 |
| 0e00 | 00 00 80 ff ff ff ff 23 00 00 00 11 40 00 00 00 00 00 00 00 00 00 00 01 00 03 00 de 00 00 80 1b | .......#....@................... |
| 0e20 | 03 00 80 04 00 00 00 24 00 00 00 11 00 00 00 00 00 00 00 00 00 00 00 01 00 03 00 51 00 00 80 6a | .......$...................Q...j |
| 0e40 | 00 00 80 01 00 00 00 25 00 00 00 11 00 00 00 00 00 00 00 00 00 00 00 01 00 01 00 48 03 00 80 75 | .......%...................H...u |
| 0e60 | 00 00 00 ff ff ff ff 26 00 00 00 10 80 00 00 00 00 00 00 00 00 00 00 01 00 02 01 31 00 00 80 31 | .......&...................1...1 |
| 0e80 | 00 00 80 ff ff ff ff 27 00 00 00 11 40 00 00 00 00 00 00 00 00 00 00 01 00 03 00 de 00 00 80 1b | .......'....@................... |
| 0ea0 | 03 00 80 04 00 00 00 28 00 00 00 11 00 00 00 00 00 00 00 00 00 00 00 01 00 03 00 51 00 00 80 6a | .......(...................Q...j |
| 0ec0 | 00 00 80 01 00 00 00 29 00 00 00 11 00 00 00 00 00 00 00 00 00 00 00 50 50 74 72 3c 45 64 69 74 | .......)...............PPtr<Edit |
| 0ee0 | 6f 72 45 78 74 65 6e 73 69 6f 6e 3e 00 6d 5f 46 69 6c 65 49 44 00 6d 5f 50 61 74 68 49 44 00 50 | orExtension>.m_FileID.m_PathID.P |
| 0f00 | 50 74 72 3c 50 72 65 66 61 62 49 6e 73 74 61 6e 63 65 3e 00 6d 5f 44 65 66 61 75 6c 74 52 65 66 | Ptr<PrefabInstance>.m_DefaultRef |
| 0f20 | 65 72 65 6e 63 65 73 00 6d 5f 49 63 6f 6e 00 6d 5f 45 78 65 63 75 74 69 6f 6e 4f 72 64 65 72 00 | erences.m_Icon.m_ExecutionOrder. |
| 0f40 | 6d 5f 43 6c 61 73 73 4e 61 6d 65 00 6d 5f 4e 61 6d 65 73 70 61 63 65 00 00 00 00 00 02 00 00 00 | m_ClassName.m_Namespace......... |
| 0f60 | 03 00 00 00 00 00 00 00 00 00 00 00 5c 00 00 00 00 00 00 00 e0 79 af 00 00 00 00 00 60 00 00 00 | ............\........y......`... |
| 0f80 | dc 44 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | .D.............................. |
| 0fa0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0fc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0fe0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1000 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1020 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 e0 79 af 00 00 00 00 00 00 00 00 00 | .....................y.......... |
| 1040 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1060 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1080 | 00 00 00 00 00 00 00 00 0d 00 00 00 4d 65 6d 6f 72 79 48 65 6c 70 65 72 73 00 00 00 49 44 00 00 | ............MemoryHelpers...ID.. |
| 10a0 | 75 73 69 6e 67 20 53 79 73 74 65 6d 3b 0d 0a 75 73 69 6e 67 20 55 6e 69 74 79 2e 43 6f 6c 6c 65 | using.System;..using.Unity.Colle |
| 10c0 | 63 74 69 6f 6e 73 2e 4c 6f 77 4c 65 76 65 6c 2e 55 6e 73 61 66 65 3b 0d 0a 0d 0a 6e 61 6d 65 73 | ctions.LowLevel.Unsafe;....names |
| 10e0 | 70 61 63 65 20 55 6e 69 74 79 45 6e 67 69 6e 65 2e 49 6e 70 75 74 53 79 73 74 65 6d 2e 55 74 69 | pace.UnityEngine.InputSystem.Uti |
| 1100 | 6c 69 74 69 65 73 0d 0a 7b 0d 0a 20 20 20 20 69 6e 74 65 72 6e 61 6c 20 73 74 61 74 69 63 20 75 | lities..{......internal.static.u |
| 1120 | 6e 73 61 66 65 20 63 6c 61 73 73 20 4d 65 6d 6f 72 79 48 65 6c 70 65 72 73 0d 0a 20 20 20 20 7b | nsafe.class.MemoryHelpers......{ |
| 1140 | 0d 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 73 74 72 75 63 74 20 42 69 74 52 65 67 69 6f | ..........public.struct.BitRegio |
| 1160 | 6e 0d 0a 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 | n..........{..............public |
| 1180 | 20 75 69 6e 74 20 62 69 74 4f 66 66 73 65 74 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 75 | .uint.bitOffset;..............pu |
| 11a0 | 62 6c 69 63 20 75 69 6e 74 20 73 69 7a 65 49 6e 42 69 74 73 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 | blic.uint.sizeInBits;........... |
| 11c0 | 20 20 20 20 20 70 75 62 6c 69 63 20 62 6f 6f 6c 20 69 73 45 6d 70 74 79 20 3d 3e 20 73 69 7a 65 | .....public.bool.isEmpty.=>.size |
| 11e0 | 49 6e 42 69 74 73 20 3d 3d 20 30 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 75 62 6c | InBits.==.0;................publ |
| 1200 | 69 63 20 42 69 74 52 65 67 69 6f 6e 28 75 69 6e 74 20 62 69 74 4f 66 66 73 65 74 2c 20 75 69 6e | ic.BitRegion(uint.bitOffset,.uin |
| 1220 | 74 20 73 69 7a 65 49 6e 42 69 74 73 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 | t.sizeInBits)..............{.... |
| 1240 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 68 69 73 2e 62 69 74 4f 66 66 73 65 74 20 3d 20 62 | ..............this.bitOffset.=.b |
| 1260 | 69 74 4f 66 66 73 65 74 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 68 69 73 2e | itOffset;..................this. |
| 1280 | 73 69 7a 65 49 6e 42 69 74 73 20 3d 20 73 69 7a 65 49 6e 42 69 74 73 3b 0d 0a 20 20 20 20 20 20 | sizeInBits.=.sizeInBits;........ |
| 12a0 | 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 42 69 | ......}................public.Bi |
| 12c0 | 74 52 65 67 69 6f 6e 28 75 69 6e 74 20 62 79 74 65 4f 66 66 73 65 74 2c 20 75 69 6e 74 20 62 69 | tRegion(uint.byteOffset,.uint.bi |
| 12e0 | 74 4f 66 66 73 65 74 2c 20 75 69 6e 74 20 73 69 7a 65 49 6e 42 69 74 73 29 0d 0a 20 20 20 20 20 | tOffset,.uint.sizeInBits)....... |
| 1300 | 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 68 69 73 2e 62 | .......{..................this.b |
| 1320 | 69 74 4f 66 66 73 65 74 20 3d 20 62 79 74 65 4f 66 66 73 65 74 20 2a 20 38 20 2b 20 62 69 74 4f | itOffset.=.byteOffset.*.8.+.bitO |
| 1340 | 66 66 73 65 74 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 68 69 73 2e 73 69 7a | ffset;..................this.siz |
| 1360 | 65 49 6e 42 69 74 73 20 3d 20 73 69 7a 65 49 6e 42 69 74 73 3b 0d 0a 20 20 20 20 20 20 20 20 20 | eInBits.=.sizeInBits;........... |
| 1380 | 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 42 69 74 52 65 | ...}................public.BitRe |
| 13a0 | 67 69 6f 6e 20 4f 76 65 72 6c 61 70 28 42 69 74 52 65 67 69 6f 6e 20 6f 74 68 65 72 29 0d 0a 20 | gion.Overlap(BitRegion.other)... |
| 13c0 | 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f | ...........{..................// |
| 13e0 | 2f 2f 52 45 56 49 45 57 3a 20 74 6f 6f 20 6d 61 6e 79 20 62 72 61 6e 63 68 65 73 3b 20 74 68 69 | //REVIEW:.too.many.branches;.thi |
| 1400 | 73 20 63 61 6e 20 70 72 6f 62 61 62 6c 79 20 62 65 20 64 6f 6e 65 20 6d 75 63 68 20 73 6d 61 72 | s.can.probably.be.done.much.smar |
| 1420 | 74 65 72 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 74 68 69 73 45 | ter....................var.thisE |
| 1440 | 6e 64 20 3d 20 62 69 74 4f 66 66 73 65 74 20 2b 20 73 69 7a 65 49 6e 42 69 74 73 3b 0d 0a 20 20 | nd.=.bitOffset.+.sizeInBits;.... |
| 1460 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 6f 74 68 65 72 45 6e 64 20 3d 20 6f 74 68 | ..............var.otherEnd.=.oth |
| 1480 | 65 72 2e 62 69 74 4f 66 66 73 65 74 20 2b 20 6f 74 68 65 72 2e 73 69 7a 65 49 6e 42 69 74 73 3b | er.bitOffset.+.other.sizeInBits; |
| 14a0 | 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 74 68 69 73 45 6e 64 20 | ....................if.(thisEnd. |
| 14c0 | 3c 3d 20 6f 74 68 65 72 2e 62 69 74 4f 66 66 73 65 74 20 7c 7c 20 6f 74 68 65 72 45 6e 64 20 3c | <=.other.bitOffset.||.otherEnd.< |
| 14e0 | 3d 20 62 69 74 4f 66 66 73 65 74 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | =.bitOffset).................... |
| 1500 | 20 20 72 65 74 75 72 6e 20 64 65 66 61 75 6c 74 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 | ..return.default;............... |
| 1520 | 20 20 20 20 20 76 61 72 20 65 6e 64 20 3d 20 4d 61 74 68 2e 4d 69 6e 28 74 68 69 73 45 6e 64 2c | .....var.end.=.Math.Min(thisEnd, |
| 1540 | 20 6f 74 68 65 72 45 6e 64 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 | .otherEnd);..................var |
| 1560 | 20 73 74 61 72 74 20 3d 20 4d 61 74 68 2e 4d 61 78 28 62 69 74 4f 66 66 73 65 74 2c 20 6f 74 68 | .start.=.Math.Max(bitOffset,.oth |
| 1580 | 65 72 2e 62 69 74 4f 66 66 73 65 74 29 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | er.bitOffset);.................. |
| 15a0 | 20 20 72 65 74 75 72 6e 20 6e 65 77 20 42 69 74 52 65 67 69 6f 6e 28 73 74 61 72 74 2c 20 65 6e | ..return.new.BitRegion(start,.en |
| 15c0 | 64 20 2d 20 73 74 61 72 74 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 | d.-.start);..............}...... |
| 15e0 | 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 62 | ....}............public.static.b |
| 1600 | 6f 6f 6c 20 43 6f 6d 70 61 72 65 28 76 6f 69 64 2a 20 70 74 72 31 2c 20 76 6f 69 64 2a 20 70 74 | ool.Compare(void*.ptr1,.void*.pt |
| 1620 | 72 32 2c 20 42 69 74 52 65 67 69 6f 6e 20 72 65 67 69 6f 6e 29 0d 0a 20 20 20 20 20 20 20 20 7b | r2,.BitRegion.region)..........{ |
| 1640 | 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 72 65 67 69 6f 6e 2e 73 69 7a 65 49 6e 42 | ..............if.(region.sizeInB |
| 1660 | 69 74 73 20 3d 3d 20 31 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 | its.==.1)..................retur |
| 1680 | 6e 20 52 65 61 64 53 69 6e 67 6c 65 42 69 74 28 70 74 72 31 2c 20 72 65 67 69 6f 6e 2e 62 69 74 | n.ReadSingleBit(ptr1,.region.bit |
| 16a0 | 4f 66 66 73 65 74 29 20 3d 3d 20 52 65 61 64 53 69 6e 67 6c 65 42 69 74 28 70 74 72 32 2c 20 72 | Offset).==.ReadSingleBit(ptr2,.r |
| 16c0 | 65 67 69 6f 6e 2e 62 69 74 4f 66 66 73 65 74 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 | egion.bitOffset);..............r |
| 16e0 | 65 74 75 72 6e 20 4d 65 6d 43 6d 70 42 69 74 52 65 67 69 6f 6e 28 70 74 72 31 2c 20 70 74 72 32 | eturn.MemCmpBitRegion(ptr1,.ptr2 |
| 1700 | 2c 20 72 65 67 69 6f 6e 2e 62 69 74 4f 66 66 73 65 74 2c 20 72 65 67 69 6f 6e 2e 73 69 7a 65 49 | ,.region.bitOffset,.region.sizeI |
| 1720 | 6e 42 69 74 73 29 3b 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 70 75 | nBits);..........}............pu |
| 1740 | 62 6c 69 63 20 73 74 61 74 69 63 20 75 69 6e 74 20 43 6f 6d 70 75 74 65 46 6f 6c 6c 6f 77 69 6e | blic.static.uint.ComputeFollowin |
| 1760 | 67 42 79 74 65 4f 66 66 73 65 74 28 75 69 6e 74 20 62 79 74 65 4f 66 66 73 65 74 2c 20 75 69 6e | gByteOffset(uint.byteOffset,.uin |
| 1780 | 74 20 73 69 7a 65 49 6e 42 69 74 73 29 0d 0a 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 | t.sizeInBits)..........{........ |
| 17a0 | 20 20 20 20 20 20 72 65 74 75 72 6e 20 28 75 69 6e 74 29 28 62 79 74 65 4f 66 66 73 65 74 20 2b | ......return.(uint)(byteOffset.+ |
| 17c0 | 20 73 69 7a 65 49 6e 42 69 74 73 20 2f 20 38 20 2b 20 28 73 69 7a 65 49 6e 42 69 74 73 20 25 20 | .sizeInBits./.8.+.(sizeInBits.%. |
| 17e0 | 38 20 3e 20 30 20 3f 20 31 20 3a 20 30 29 29 3b 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 | 8.>.0.?.1.:.0));..........}..... |
| 1800 | 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 76 6f 69 64 20 57 72 69 74 65 53 | .......public.static.void.WriteS |
| 1820 | 69 6e 67 6c 65 42 69 74 28 76 6f 69 64 2a 20 70 74 72 2c 20 75 69 6e 74 20 62 69 74 4f 66 66 73 | ingleBit(void*.ptr,.uint.bitOffs |
| 1840 | 65 74 2c 20 62 6f 6f 6c 20 76 61 6c 75 65 29 0d 0a 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 | et,.bool.value)..........{...... |
| 1860 | 20 20 20 20 20 20 20 20 69 66 20 28 62 69 74 4f 66 66 73 65 74 20 3c 20 38 29 0d 0a 20 20 20 20 | ........if.(bitOffset.<.8)...... |
| 1880 | 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 76 | ........{..................if.(v |
| 18a0 | 61 6c 75 65 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a 28 62 79 74 | alue)......................*(byt |
| 18c0 | 65 2a 29 70 74 72 20 7c 3d 20 28 62 79 74 65 29 28 31 20 3c 3c 20 28 69 6e 74 29 62 69 74 4f 66 | e*)ptr.|=.(byte)(1.<<.(int)bitOf |
| 18e0 | 66 73 65 74 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 6c 73 65 0d 0a 20 20 | fset);..................else.... |
| 1900 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a 28 62 79 74 65 2a 29 70 74 72 20 26 3d | ..................*(byte*)ptr.&= |
| 1920 | 20 28 62 79 74 65 29 7e 28 31 20 3c 3c 20 28 69 6e 74 29 62 69 74 4f 66 66 73 65 74 29 3b 0d 0a | .(byte)~(1.<<.(int)bitOffset);.. |
| 1940 | 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 6c 73 65 20 | ............}..............else. |
| 1960 | 69 66 20 28 62 69 74 4f 66 66 73 65 74 20 3c 20 33 32 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 | if.(bitOffset.<.32)............. |
| 1980 | 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 76 61 6c 75 65 29 0d 0a | .{..................if.(value).. |
| 19a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a 28 69 6e 74 2a 29 70 74 72 20 7c | ....................*(int*)ptr.| |
| 19c0 | 3d 20 31 20 3c 3c 20 28 69 6e 74 29 62 69 74 4f 66 66 73 65 74 3b 0d 0a 20 20 20 20 20 20 20 20 | =.1.<<.(int)bitOffset;.......... |
| 19e0 | 20 20 20 20 20 20 20 20 65 6c 73 65 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ........else.................... |
| 1a00 | 20 20 2a 28 69 6e 74 2a 29 70 74 72 20 26 3d 20 7e 28 31 20 3c 3c 20 28 69 6e 74 29 62 69 74 4f | ..*(int*)ptr.&=.~(1.<<.(int)bitO |
| 1a20 | 66 66 73 65 74 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 20 20 | ffset);..............}.......... |
| 1a40 | 20 20 20 20 65 6c 73 65 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 | ....else..............{......... |
| 1a60 | 20 20 20 20 20 20 20 20 20 76 61 72 20 62 79 74 65 4f 66 66 73 65 74 20 3d 20 62 69 74 4f 66 66 | .........var.byteOffset.=.bitOff |
| 1a80 | 73 65 74 20 2f 20 38 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 69 74 4f 66 66 | set./.8;..................bitOff |
| 1aa0 | 73 65 74 20 25 3d 20 38 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 | set.%=.8;....................if. |
| 1ac0 | 28 76 61 6c 75 65 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a 28 28 | (value)......................*(( |
| 1ae0 | 62 79 74 65 2a 29 70 74 72 20 2b 20 62 79 74 65 4f 66 66 73 65 74 29 20 7c 3d 20 28 62 79 74 65 | byte*)ptr.+.byteOffset).|=.(byte |
| 1b00 | 29 28 31 20 3c 3c 20 28 69 6e 74 29 62 69 74 4f 66 66 73 65 74 29 3b 0d 0a 20 20 20 20 20 20 20 | )(1.<<.(int)bitOffset);......... |
| 1b20 | 20 20 20 20 20 20 20 20 20 65 6c 73 65 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .........else................... |
| 1b40 | 20 20 20 2a 28 28 62 79 74 65 2a 29 70 74 72 20 2b 20 62 79 74 65 4f 66 66 73 65 74 29 20 26 3d | ...*((byte*)ptr.+.byteOffset).&= |
| 1b60 | 20 28 62 79 74 65 29 7e 28 31 20 3c 3c 20 28 69 6e 74 29 62 69 74 4f 66 66 73 65 74 29 3b 0d 0a | .(byte)~(1.<<.(int)bitOffset);.. |
| 1b80 | 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 | ............}..........}........ |
| 1ba0 | 20 20 20 20 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 62 6f 6f 6c 20 52 65 61 64 53 69 6e 67 6c | ....public.static.bool.ReadSingl |
| 1bc0 | 65 42 69 74 28 76 6f 69 64 2a 20 70 74 72 2c 20 75 69 6e 74 20 62 69 74 4f 66 66 73 65 74 29 0d | eBit(void*.ptr,.uint.bitOffset). |
| 1be0 | 0a 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f 2f 54 4f 44 4f | .........{..............////TODO |
| 1c00 | 3a 20 63 75 72 72 65 6e 74 6c 79 20 74 68 69 73 20 69 73 20 6e 6f 74 20 61 63 74 75 61 6c 6c 79 | :.currently.this.is.not.actually |
| 1c20 | 20 65 6e 66 6f 72 63 65 64 2e 2e 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 54 68 65 | .enforced.................//.The |
| 1c40 | 20 6c 61 79 6f 75 74 20 63 6f 64 65 20 6d 61 6b 65 73 20 73 75 72 65 20 74 68 61 74 20 62 69 74 | .layout.code.makes.sure.that.bit |
| 1c60 | 66 69 65 6c 64 73 20 61 72 65 20 65 69 74 68 65 72 20 38 62 69 74 20 6f 72 20 6d 75 6c 74 69 70 | fields.are.either.8bit.or.multip |
| 1c80 | 6c 65 73 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 6f 66 20 33 32 62 69 74 73 2e 20 53 | les..............//.of.32bits..S |
| 1ca0 | 6f 20 77 65 20 61 6c 77 61 79 73 20 73 61 66 65 6c 79 20 72 65 61 64 20 65 69 74 68 65 72 20 61 | o.we.always.safely.read.either.a |
| 1cc0 | 20 62 79 74 65 20 6f 72 20 69 6e 74 2e 20 48 61 6e 64 6c 69 6e 67 0d 0a 20 20 20 20 20 20 20 20 | .byte.or.int..Handling.......... |
| 1ce0 | 20 20 20 20 2f 2f 20 74 68 65 20 38 62 69 74 20 61 6e 64 20 33 32 62 69 74 20 63 61 73 65 20 64 | ....//.the.8bit.and.32bit.case.d |
| 1d00 | 69 72 65 63 74 6c 79 20 77 69 6c 6c 20 6c 65 61 64 20 74 6f 20 6e 69 63 65 6c 79 20 61 6c 69 67 | irectly.will.lead.to.nicely.alig |
| 1d20 | 6e 65 64 20 6d 65 6d 6f 72 79 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 61 63 63 65 73 | ned.memory..............//.acces |
| 1d40 | 73 65 73 20 69 66 20 74 68 65 20 73 74 61 74 65 20 68 61 73 20 62 65 65 6e 20 6c 61 69 64 20 6f | ses.if.the.state.has.been.laid.o |
| 1d60 | 75 74 20 74 68 61 74 20 77 61 79 2e 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 74 20 | ut.that.way.................int. |
| 1d80 | 62 69 74 73 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 62 69 74 4f 66 66 73 | bits;................if.(bitOffs |
| 1da0 | 65 74 20 3c 20 38 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 | et.<.8)..............{.......... |
| 1dc0 | 20 20 20 20 20 20 20 20 62 69 74 73 20 3d 20 2a 28 62 79 74 65 2a 29 70 74 72 3b 0d 0a 20 20 20 | ........bits.=.*(byte*)ptr;..... |
| 1de0 | 20 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 6c 73 65 20 69 66 20 | .........}..............else.if. |
| 1e00 | 28 62 69 74 4f 66 66 73 65 74 20 3c 20 33 32 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d | (bitOffset.<.32)..............{. |
| 1e20 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 69 74 73 20 3d 20 2a 28 69 6e 74 2a 29 70 | .................bits.=.*(int*)p |
| 1e40 | 74 72 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 | tr;..............}.............. |
| 1e60 | 65 6c 73 65 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 | else..............{............. |
| 1e80 | 20 20 20 20 20 2f 2f 20 4c 6f 6e 67 20 62 69 74 66 69 65 6c 64 2e 20 43 6f 6d 70 75 74 65 20 61 | .....//.Long.bitfield..Compute.a |
| 1ea0 | 6e 20 6f 66 66 73 65 74 20 74 6f 20 74 68 65 20 62 79 74 65 20 77 65 20 6e 65 65 64 20 61 6e 64 | n.offset.to.the.byte.we.need.and |
| 1ec0 | 20 66 65 74 63 68 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 6f 6e 6c 79 20 | .fetch..................//.only. |
| 1ee0 | 74 68 61 74 20 62 79 74 65 2e 20 41 64 6a 75 73 74 20 74 68 65 20 62 69 74 20 6f 66 66 73 65 74 | that.byte..Adjust.the.bit.offset |
| 1f00 | 20 74 6f 20 62 65 20 66 6f 72 20 74 68 61 74 20 62 79 74 65 2e 0d 0a 20 20 20 20 20 20 20 20 20 | .to.be.for.that.byte............ |
| 1f20 | 20 20 20 20 20 20 20 2f 2f 20 4f 6e 20 74 68 69 73 20 70 61 74 68 2c 20 77 65 20 6d 61 79 20 65 | .......//.On.this.path,.we.may.e |
| 1f40 | 6e 64 20 75 70 20 64 6f 69 6e 67 20 6d 65 6d 6f 72 79 20 61 63 63 65 73 73 65 73 20 74 68 61 74 | nd.up.doing.memory.accesses.that |
| 1f60 | 20 74 68 65 20 43 50 55 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 64 6f 65 | .the.CPU..................//.doe |
| 1f80 | 73 6e 27 74 20 6c 69 6b 65 20 6d 75 63 68 2e 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | sn't.like.much.................. |
| 1fa0 | 20 20 20 76 61 72 20 62 79 74 65 4f 66 66 73 65 74 20 3d 20 62 69 74 4f 66 66 73 65 74 20 2f 20 | ...var.byteOffset.=.bitOffset./. |
| 1fc0 | 38 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 69 74 4f 66 66 73 65 74 20 25 3d | 8;..................bitOffset.%= |
| 1fe0 | 20 38 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 69 74 73 20 3d 20 2a 28 | .8;....................bits.=.*( |
| 2000 | 28 62 79 74 65 2a 29 70 74 72 20 2b 20 62 79 74 65 4f 66 66 73 65 74 29 3b 0d 0a 20 20 20 20 20 | (byte*)ptr.+.byteOffset);....... |
| 2020 | 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 28 | .......}................return.( |
| 2040 | 62 69 74 73 20 26 20 28 31 20 3c 3c 20 28 69 6e 74 29 62 69 74 4f 66 66 73 65 74 29 29 20 21 3d | bits.&.(1.<<.(int)bitOffset)).!= |
| 2060 | 20 30 3b 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 | .0;..........}............///.<s |
| 2080 | 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 43 6f 6d 70 61 72 65 20 74 77 6f | ummary>..........///.Compare.two |
| 20a0 | 20 6d 65 6d 6f 72 79 20 72 65 67 69 6f 6e 73 20 74 68 61 74 20 6d 61 79 20 62 65 20 6f 66 66 73 | .memory.regions.that.may.be.offs |
| 20c0 | 65 74 20 62 79 20 61 20 62 69 74 20 63 6f 75 6e 74 20 61 6e 64 20 68 61 76 65 20 61 20 6c 65 6e | et.by.a.bit.count.and.have.a.len |
| 20e0 | 67 74 68 20 65 78 70 72 65 73 73 65 64 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 69 6e 20 62 69 | gth.expressed..........///.in.bi |
| 2100 | 74 73 2e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 | ts...........///.</summary>..... |
| 2120 | 20 20 20 20 20 2f 2f 2f 20 3c 70 61 72 61 6d 20 6e 61 6d 65 3d 22 70 74 72 31 22 3e 50 6f 69 6e | .....///.<param.name="ptr1">Poin |
| 2140 | 74 65 72 20 74 6f 20 73 74 61 72 74 20 6f 66 20 66 69 72 73 74 20 6d 65 6d 6f 72 79 20 72 65 67 | ter.to.start.of.first.memory.reg |
| 2160 | 69 6f 6e 2e 3c 2f 70 61 72 61 6d 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 70 61 72 61 6d | ion.</param>..........///.<param |
| 2180 | 20 6e 61 6d 65 3d 22 70 74 72 32 22 3e 50 6f 69 6e 74 65 72 20 74 6f 20 73 74 61 72 74 20 6f 66 | .name="ptr2">Pointer.to.start.of |
| 21a0 | 20 73 65 63 6f 6e 64 20 6d 65 6d 6f 72 79 20 72 65 67 69 6f 6e 2e 3c 2f 70 61 72 61 6d 3e 0d 0a | .second.memory.region.</param>.. |
| 21c0 | 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 70 61 72 61 6d 20 6e 61 6d 65 3d 22 62 69 74 4f 66 66 73 | ........///.<param.name="bitOffs |
| 21e0 | 65 74 22 3e 4f 66 66 73 65 74 20 69 6e 20 62 69 74 73 20 66 72 6f 6d 20 65 61 63 68 20 6f 66 20 | et">Offset.in.bits.from.each.of. |
| 2200 | 74 68 65 20 70 6f 69 6e 74 65 72 73 20 74 6f 20 74 68 65 20 73 74 61 72 74 20 6f 66 20 74 68 65 | the.pointers.to.the.start.of.the |
| 2220 | 20 6d 65 6d 6f 72 79 20 72 65 67 69 6f 6e 20 74 6f 20 63 6f 6d 70 61 72 65 2e 3c 2f 70 61 72 61 | .memory.region.to.compare.</para |
| 2240 | 6d 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 70 61 72 61 6d 20 6e 61 6d 65 3d 22 62 69 74 | m>..........///.<param.name="bit |
| 2260 | 43 6f 75 6e 74 22 3e 4e 75 6d 62 65 72 20 6f 66 20 62 69 74 73 20 74 6f 20 63 6f 6d 70 61 72 65 | Count">Number.of.bits.to.compare |
| 2280 | 20 69 6e 20 74 68 65 20 6d 65 6d 6f 72 79 20 72 65 67 69 6f 6e 2e 3c 2f 70 61 72 61 6d 3e 0d 0a | .in.the.memory.region.</param>.. |
| 22a0 | 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 70 61 72 61 6d 20 6e 61 6d 65 3d 22 6d 61 73 6b 22 3e 49 | ........///.<param.name="mask">I |
| 22c0 | 66 20 6e 6f 74 20 6e 75 6c 6c 2c 20 6f 6e 6c 79 20 63 6f 6d 70 61 72 65 20 62 69 74 73 20 73 65 | f.not.null,.only.compare.bits.se |
| 22e0 | 74 20 69 6e 20 74 68 65 20 6d 61 73 6b 2e 20 54 68 69 73 20 61 6c 6c 6f 77 73 20 63 6f 6d 70 61 | t.in.the.mask..This.allows.compa |
| 2300 | 72 69 6e 67 20 74 77 6f 20 6d 65 6d 6f 72 79 20 72 65 67 69 6f 6e 73 20 77 68 69 6c 65 0d 0a 20 | ring.two.memory.regions.while... |
| 2320 | 20 20 20 20 20 20 20 2f 2f 2f 20 69 67 6e 6f 72 69 6e 67 20 73 70 65 63 69 66 69 63 20 62 69 74 | .......///.ignoring.specific.bit |
| 2340 | 73 2e 3c 2f 70 61 72 61 6d 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 72 65 74 75 72 6e 73 | s.</param>..........///.<returns |
| 2360 | 3e 54 72 75 65 20 69 66 20 74 68 65 20 74 77 6f 20 6d 65 6d 6f 72 79 20 72 65 67 69 6f 6e 73 20 | >True.if.the.two.memory.regions. |
| 2380 | 61 72 65 20 69 64 65 6e 74 69 63 61 6c 2c 20 66 61 6c 73 65 20 6f 74 68 65 72 77 69 73 65 2e 3c | are.identical,.false.otherwise.< |
| 23a0 | 2f 72 65 74 75 72 6e 73 3e 0d 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 73 74 61 74 69 63 | /returns>..........public.static |
| 23c0 | 20 62 6f 6f 6c 20 4d 65 6d 43 6d 70 42 69 74 52 65 67 69 6f 6e 28 76 6f 69 64 2a 20 70 74 72 31 | .bool.MemCmpBitRegion(void*.ptr1 |
| 23e0 | 2c 20 76 6f 69 64 2a 20 70 74 72 32 2c 20 75 69 6e 74 20 62 69 74 4f 66 66 73 65 74 2c 20 75 69 | ,.void*.ptr2,.uint.bitOffset,.ui |
| 2400 | 6e 74 20 62 69 74 43 6f 75 6e 74 2c 20 76 6f 69 64 2a 20 6d 61 73 6b 20 3d 20 6e 75 6c 6c 29 0d | nt.bitCount,.void*.mask.=.null). |
| 2420 | 0a 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 62 79 74 65 | .........{..............var.byte |
| 2440 | 50 74 72 31 20 3d 20 28 62 79 74 65 2a 29 70 74 72 31 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 | Ptr1.=.(byte*)ptr1;............. |
| 2460 | 20 76 61 72 20 62 79 74 65 50 74 72 32 20 3d 20 28 62 79 74 65 2a 29 70 74 72 32 3b 0d 0a 20 20 | .var.bytePtr2.=.(byte*)ptr2;.... |
| 2480 | 20 20 20 20 20 20 20 20 20 20 76 61 72 20 6d 61 73 6b 50 74 72 20 3d 20 28 62 79 74 65 2a 29 6d | ..........var.maskPtr.=.(byte*)m |
| 24a0 | 61 73 6b 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 49 66 20 77 65 27 72 65 20 | ask;................//.If.we're. |
| 24c0 | 6f 66 66 73 65 74 20 62 79 20 6d 6f 72 65 20 74 68 61 6e 20 61 20 62 79 74 65 2c 20 61 64 6a 75 | offset.by.more.than.a.byte,.adju |
| 24e0 | 73 74 20 6f 75 72 20 70 6f 69 6e 74 65 72 73 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 | st.our.pointers...............if |
| 2500 | 20 28 62 69 74 4f 66 66 73 65 74 20 3e 3d 20 38 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b | .(bitOffset.>=.8)..............{ |
| 2520 | 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 73 6b 69 70 42 79 74 65 73 20 | ..................var.skipBytes. |
| 2540 | 3d 20 62 69 74 4f 66 66 73 65 74 20 2f 20 38 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | =.bitOffset./.8;................ |
| 2560 | 20 20 62 79 74 65 50 74 72 31 20 2b 3d 20 73 6b 69 70 42 79 74 65 73 3b 0d 0a 20 20 20 20 20 20 | ..bytePtr1.+=.skipBytes;........ |
| 2580 | 20 20 20 20 20 20 20 20 20 20 62 79 74 65 50 74 72 32 20 2b 3d 20 73 6b 69 70 42 79 74 65 73 3b | ..........bytePtr2.+=.skipBytes; |
| 25a0 | 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 6d 61 73 6b 50 74 72 20 21 3d | ..................if.(maskPtr.!= |
| 25c0 | 20 6e 75 6c 6c 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 61 73 6b | .null)......................mask |
| 25e0 | 50 74 72 20 2b 3d 20 73 6b 69 70 42 79 74 65 73 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | Ptr.+=.skipBytes;............... |
| 2600 | 20 20 20 62 69 74 4f 66 66 73 65 74 20 25 3d 20 38 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 | ...bitOffset.%=.8;.............. |
| 2620 | 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 43 6f 6d 70 61 72 65 20 75 6e 61 6c | }................//.Compare.unal |
| 2640 | 69 67 6e 65 64 20 70 72 65 66 69 78 2c 20 69 66 20 61 6e 79 2e 0d 0a 20 20 20 20 20 20 20 20 20 | igned.prefix,.if.any............ |
| 2660 | 20 20 20 69 66 20 28 62 69 74 4f 66 66 73 65 74 20 3e 20 30 29 0d 0a 20 20 20 20 20 20 20 20 20 | ...if.(bitOffset.>.0)........... |
| 2680 | 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 49 66 20 74 68 65 20 | ...{..................//.If.the. |
| 26a0 | 74 6f 74 61 6c 20 6c 65 6e 67 74 68 20 6f 66 20 74 68 65 20 6d 65 6d 6f 72 79 20 72 65 67 69 6f | total.length.of.the.memory.regio |
| 26c0 | 6e 20 69 73 20 6c 65 73 73 20 74 68 61 6e 20 61 20 62 79 74 65 2c 20 77 65 20 6e 65 65 64 0d 0a | n.is.less.than.a.byte,.we.need.. |
| 26e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 74 6f 20 6d 61 73 6b 20 6f 75 74 20 70 | ................//.to.mask.out.p |
| 2700 | 61 72 74 73 20 6f 66 20 74 68 65 20 62 69 74 73 20 77 65 27 72 65 20 72 65 61 64 69 6e 67 2e 0d | arts.of.the.bits.we're.reading.. |
| 2720 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 62 79 74 65 4d 61 73 6b 20 3d 20 | .................var.byteMask.=. |
| 2740 | 30 78 46 46 20 3c 3c 20 28 69 6e 74 29 62 69 74 4f 66 66 73 65 74 3b 0d 0a 20 20 20 20 20 20 20 | 0xFF.<<.(int)bitOffset;......... |
| 2760 | 20 20 20 20 20 20 20 20 20 69 66 20 28 62 69 74 43 6f 75 6e 74 20 2b 20 62 69 74 4f 66 66 73 65 | .........if.(bitCount.+.bitOffse |
| 2780 | 74 20 3c 20 38 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 79 74 65 | t.<.8)......................byte |
| 27a0 | 4d 61 73 6b 20 26 3d 20 30 78 46 46 20 3e 3e 20 28 69 6e 74 29 28 38 20 2d 20 28 62 69 74 43 6f | Mask.&=.0xFF.>>.(int)(8.-.(bitCo |
| 27c0 | 75 6e 74 20 2b 20 62 69 74 4f 66 66 73 65 74 29 29 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 | unt.+.bitOffset));.............. |
| 27e0 | 20 20 20 20 20 20 69 66 20 28 6d 61 73 6b 50 74 72 20 21 3d 20 6e 75 6c 6c 29 0d 0a 20 20 20 20 | ......if.(maskPtr.!=.null)...... |
| 2800 | 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ............{................... |
| 2820 | 20 20 20 62 79 74 65 4d 61 73 6b 20 26 3d 20 2a 6d 61 73 6b 50 74 72 3b 0d 0a 20 20 20 20 20 20 | ...byteMask.&=.*maskPtr;........ |
| 2840 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2b 2b 6d 61 73 6b 50 74 72 3b 0d 0a 20 20 20 20 20 20 | ..............++maskPtr;........ |
| 2860 | 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 | ..........}....................v |
| 2880 | 61 72 20 62 79 74 65 31 20 3d 20 2a 62 79 74 65 50 74 72 31 20 26 20 62 79 74 65 4d 61 73 6b 3b | ar.byte1.=.*bytePtr1.&.byteMask; |
| 28a0 | 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 62 79 74 65 32 20 3d 20 2a 62 | ..................var.byte2.=.*b |
| 28c0 | 79 74 65 50 74 72 32 20 26 20 62 79 74 65 4d 61 73 6b 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 | ytePtr2.&.byteMask;............. |
| 28e0 | 20 20 20 20 20 20 20 69 66 20 28 62 79 74 65 31 20 21 3d 20 62 79 74 65 32 29 0d 0a 20 20 20 20 | .......if.(byte1.!=.byte2)...... |
| 2900 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0d 0a 0d | ................return.false;... |
| 2920 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2b 2b 62 79 74 65 50 74 72 31 3b 0d 0a 20 20 | .................++bytePtr1;.... |
| 2940 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2b 2b 62 79 74 65 50 74 72 32 3b 0d 0a 0d 0a 20 20 20 | ..............++bytePtr2;....... |
| 2960 | 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 49 66 20 74 68 65 20 74 6f 74 61 6c 20 6c 65 6e | .............//.If.the.total.len |
| 2980 | 67 74 68 20 6f 66 20 74 68 65 20 6d 65 6d 6f 72 79 20 72 65 67 69 6f 6e 20 69 73 20 65 71 75 61 | gth.of.the.memory.region.is.equa |
| 29a0 | 6c 20 6f 72 20 6c 65 73 73 20 74 68 61 6e 20 61 20 62 79 74 65 2c 0d 0a 20 20 20 20 20 20 20 20 | l.or.less.than.a.byte,.......... |
| 29c0 | 20 20 20 20 20 20 20 20 2f 2f 20 77 65 27 72 65 20 64 6f 6e 65 2e 0d 0a 20 20 20 20 20 20 20 20 | ........//.we're.done........... |
| 29e0 | 20 20 20 20 20 20 20 20 69 66 20 28 62 69 74 43 6f 75 6e 74 20 2b 20 62 69 74 4f 66 66 73 65 74 | ........if.(bitCount.+.bitOffset |
| 2a00 | 20 3c 3d 20 38 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 | .<=.8)......................retu |
| 2a20 | 72 6e 20 74 72 75 65 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 69 74 43 | rn.true;....................bitC |
| 2a40 | 6f 75 6e 74 20 2d 3d 20 38 20 2d 20 62 69 74 4f 66 66 73 65 74 3b 0d 0a 20 20 20 20 20 20 20 20 | ount.-=.8.-.bitOffset;.......... |
| 2a60 | 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 43 6f 6d 70 61 72 65 20 | ....}................//.Compare. |
| 2a80 | 63 6f 6e 74 69 67 75 6f 75 73 20 62 79 74 65 73 20 69 6e 2d 62 65 74 77 65 65 6e 2c 20 69 66 20 | contiguous.bytes.in-between,.if. |
| 2aa0 | 61 6e 79 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 62 79 74 65 43 6f 75 6e 74 20 | any...............var.byteCount. |
| 2ac0 | 3d 20 62 69 74 43 6f 75 6e 74 20 2f 20 38 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 | =.bitCount./.8;..............if. |
| 2ae0 | 28 62 79 74 65 43 6f 75 6e 74 20 3e 3d 20 31 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d | (byteCount.>=.1)..............{. |
| 2b00 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 6d 61 73 6b 50 74 72 20 21 3d 20 | .................if.(maskPtr.!=. |
| 2b20 | 6e 75 6c 6c 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 | null)..................{........ |
| 2b40 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f 2f 52 45 56 49 45 57 3a 20 63 6f 75 6c 64 20 | ..............////REVIEW:.could. |
| 2b60 | 67 6f 20 69 6e 74 20 62 79 20 69 6e 74 20 68 65 72 65 20 66 6f 72 20 61 73 20 6c 6f 6e 67 20 61 | go.int.by.int.here.for.as.long.a |
| 2b80 | 73 20 77 65 20 63 61 6e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f | s.we.can......................// |
| 2ba0 | 20 48 61 76 65 20 74 6f 20 67 6f 20 62 79 74 65 2d 62 79 2d 62 79 74 65 20 69 6e 20 6f 72 64 65 | .Have.to.go.byte-by-byte.in.orde |
| 2bc0 | 72 20 74 6f 20 61 70 70 6c 79 20 74 68 65 20 6d 61 73 6b 69 6e 67 2e 0d 0a 20 20 20 20 20 20 20 | r.to.apply.the.masking.......... |
| 2be0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 28 76 61 72 20 69 20 3d 20 30 3b 20 69 20 3c | .............for.(var.i.=.0;.i.< |
| 2c00 | 20 62 79 74 65 43 6f 75 6e 74 3b 20 2b 2b 69 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .byteCount;.++i)................ |
| 2c20 | 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ......{......................... |
| 2c40 | 20 76 61 72 20 62 79 74 65 31 20 3d 20 62 79 74 65 50 74 72 31 5b 69 5d 3b 0d 0a 20 20 20 20 20 | .var.byte1.=.bytePtr1[i];....... |
| 2c60 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 62 79 74 65 32 20 3d 20 62 | ...................var.byte2.=.b |
| 2c80 | 79 74 65 50 74 72 32 5b 69 5d 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ytePtr2[i];..................... |
| 2ca0 | 20 20 20 20 20 76 61 72 20 62 79 74 65 4d 61 73 6b 20 3d 20 6d 61 73 6b 50 74 72 5b 69 5d 3b 0d | .....var.byteMask.=.maskPtr[i];. |
| 2cc0 | 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 28 | ...........................if.(( |
| 2ce0 | 62 79 74 65 31 20 26 20 62 79 74 65 4d 61 73 6b 29 20 21 3d 20 28 62 79 74 65 32 20 26 20 62 79 | byte1.&.byteMask).!=.(byte2.&.by |
| 2d00 | 74 65 4d 61 73 6b 29 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | teMask))........................ |
| 2d20 | 20 20 20 20 20 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 | ......return.false;............. |
| 2d40 | 20 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 20 | .........}..................}... |
| 2d60 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 6c 73 65 0d 0a 20 20 20 20 20 20 20 20 20 20 20 | ...............else............. |
| 2d80 | 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 | .....{......................if.( |
| 2da0 | 55 6e 73 61 66 65 55 74 69 6c 69 74 79 2e 4d 65 6d 43 6d 70 28 62 79 74 65 50 74 72 31 2c 20 62 | UnsafeUtility.MemCmp(bytePtr1,.b |
| 2dc0 | 79 74 65 50 74 72 32 2c 20 62 79 74 65 43 6f 75 6e 74 29 20 21 3d 20 30 29 0d 0a 20 20 20 20 20 | ytePtr2,.byteCount).!=.0)....... |
| 2de0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b | ...................return.false; |
| 2e00 | 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 20 20 20 20 20 | ..................}............. |
| 2e20 | 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 43 6f 6d 70 61 72 65 20 75 6e 61 | .}................//.Compare.una |
| 2e40 | 6c 69 67 6e 65 64 20 73 75 66 66 69 78 2c 20 69 66 20 61 6e 79 2e 0d 0a 20 20 20 20 20 20 20 20 | ligned.suffix,.if.any........... |
| 2e60 | 20 20 20 20 76 61 72 20 72 65 6d 61 69 6e 69 6e 67 42 69 74 43 6f 75 6e 74 20 3d 20 62 69 74 43 | ....var.remainingBitCount.=.bitC |
| 2e80 | 6f 75 6e 74 20 25 20 38 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 72 65 6d 61 69 | ount.%.8;..............if.(remai |
| 2ea0 | 6e 69 6e 67 42 69 74 43 6f 75 6e 74 20 3e 20 30 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b | ningBitCount.>.0)..............{ |
| 2ec0 | 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 79 74 65 50 74 72 31 20 2b 3d 20 62 79 | ..................bytePtr1.+=.by |
| 2ee0 | 74 65 43 6f 75 6e 74 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 79 74 65 50 74 | teCount;..................bytePt |
| 2f00 | 72 32 20 2b 3d 20 62 79 74 65 43 6f 75 6e 74 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 | r2.+=.byteCount;................ |
| 2f20 | 20 20 20 20 2f 2f 20 57 65 20 77 61 6e 74 20 74 68 65 20 6c 6f 77 65 73 74 20 72 65 6d 61 69 6e | ....//.We.want.the.lowest.remain |
| 2f40 | 69 6e 67 20 62 69 74 73 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 62 | ing.bits...................var.b |
| 2f60 | 79 74 65 4d 61 73 6b 20 3d 20 30 78 46 46 20 3e 3e 20 28 69 6e 74 29 28 38 20 2d 20 72 65 6d 61 | yteMask.=.0xFF.>>.(int)(8.-.rema |
| 2f80 | 69 6e 69 6e 67 42 69 74 43 6f 75 6e 74 29 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | iningBitCount);................. |
| 2fa0 | 20 20 20 69 66 20 28 6d 61 73 6b 50 74 72 20 21 3d 20 6e 75 6c 6c 29 0d 0a 20 20 20 20 20 20 20 | ...if.(maskPtr.!=.null)......... |
| 2fc0 | 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .........{...................... |
| 2fe0 | 6d 61 73 6b 50 74 72 20 2b 3d 20 62 79 74 65 43 6f 75 6e 74 3b 0d 0a 20 20 20 20 20 20 20 20 20 | maskPtr.+=.byteCount;........... |
| 3000 | 20 20 20 20 20 20 20 20 20 20 20 62 79 74 65 4d 61 73 6b 20 26 3d 20 2a 6d 61 73 6b 50 74 72 3b | ...........byteMask.&=.*maskPtr; |
| 3020 | 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 | ..................}............. |
| 3040 | 20 20 20 20 20 20 20 76 61 72 20 62 79 74 65 31 20 3d 20 2a 62 79 74 65 50 74 72 31 20 26 20 62 | .......var.byte1.=.*bytePtr1.&.b |
| 3060 | 79 74 65 4d 61 73 6b 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 62 79 | yteMask;..................var.by |
| 3080 | 74 65 32 20 3d 20 2a 62 79 74 65 50 74 72 32 20 26 20 62 79 74 65 4d 61 73 6b 3b 0d 0a 0d 0a 20 | te2.=.*bytePtr2.&.byteMask;..... |
| 30a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 62 79 74 65 31 20 21 3d 20 62 79 74 65 | ...............if.(byte1.!=.byte |
| 30c0 | 32 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 66 | 2)......................return.f |
| 30e0 | 61 6c 73 65 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 | alse;..............}............ |
| 3100 | 20 20 20 20 72 65 74 75 72 6e 20 74 72 75 65 3b 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 | ....return.true;..........}..... |
| 3120 | 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 76 6f 69 64 20 4d 65 6d 53 65 74 | .......public.static.void.MemSet |
| 3140 | 28 76 6f 69 64 2a 20 64 65 73 74 69 6e 61 74 69 6f 6e 2c 20 69 6e 74 20 6e 75 6d 42 79 74 65 73 | (void*.destination,.int.numBytes |
| 3160 | 2c 20 62 79 74 65 20 76 61 6c 75 65 29 0d 0a 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 | ,.byte.value)..........{........ |
| 3180 | 20 20 20 20 20 20 76 61 72 20 74 6f 20 3d 20 28 62 79 74 65 2a 29 64 65 73 74 69 6e 61 74 69 6f | ......var.to.=.(byte*)destinatio |
| 31a0 | 6e 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 70 6f 73 20 3d 20 30 3b 0d 0a 0d 0a | n;..............var.pos.=.0;.... |
| 31c0 | 20 20 20 20 20 20 20 20 20 20 20 20 75 6e 63 68 65 63 6b 65 64 0d 0a 20 20 20 20 20 20 20 20 20 | ............unchecked........... |
| 31e0 | 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 36 34 62 69 74 20 62 | ...{..................//.64bit.b |
| 3200 | 6c 6f 63 6b 73 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 69 66 20 55 4e 49 54 | locks...................#if.UNIT |
| 3220 | 59 5f 36 34 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 77 68 69 6c 65 20 28 6e 75 6d | Y_64..................while.(num |
| 3240 | 42 79 74 65 73 20 3e 3d 20 38 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a | Bytes.>=.8)..................{.. |
| 3260 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a 28 75 6c 6f 6e 67 2a 29 26 74 6f | ....................*(ulong*)&to |
| 3280 | 5b 70 6f 73 5d 20 3d 20 28 28 75 6c 6f 6e 67 29 76 61 6c 75 65 20 3c 3c 20 35 36 29 20 7c 20 28 | [pos].=.((ulong)value.<<.56).|.( |
| 32a0 | 28 75 6c 6f 6e 67 29 76 61 6c 75 65 20 3c 3c 20 34 38 29 20 7c 20 28 28 75 6c 6f 6e 67 29 76 61 | (ulong)value.<<.48).|.((ulong)va |
| 32c0 | 6c 75 65 20 3c 3c 20 34 30 29 20 7c 20 28 28 75 6c 6f 6e 67 29 76 61 6c 75 65 20 3c 3c 20 33 32 | lue.<<.40).|.((ulong)value.<<.32 |
| 32e0 | 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 20 28 28 75 | )..........................|.((u |
| 3300 | 6c 6f 6e 67 29 76 61 6c 75 65 20 3c 3c 20 32 34 29 20 7c 20 28 28 75 6c 6f 6e 67 29 76 61 6c 75 | long)value.<<.24).|.((ulong)valu |
| 3320 | 65 20 3c 3c 20 31 36 29 20 7c 20 28 28 75 6c 6f 6e 67 29 76 61 6c 75 65 20 3c 3c 20 38 29 20 7c | e.<<.16).|.((ulong)value.<<.8).| |
| 3340 | 20 76 61 6c 75 65 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 75 6d | .value;......................num |
| 3360 | 42 79 74 65 73 20 2d 3d 20 38 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | Bytes.-=.8;..................... |
| 3380 | 20 70 6f 73 20 2b 3d 20 38 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 20 | .pos.+=.8;..................}... |
| 33a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 65 6e 64 69 66 0d 0a 0d 0a 20 20 20 20 20 20 20 | ...............#endif........... |
| 33c0 | 20 20 20 20 20 20 20 20 20 2f 2f 20 33 32 62 69 74 20 62 6c 6f 63 6b 73 2e 0d 0a 20 20 20 20 20 | .........//.32bit.blocks........ |
| 33e0 | 20 20 20 20 20 20 20 20 20 20 20 77 68 69 6c 65 20 28 6e 75 6d 42 79 74 65 73 20 3e 3d 20 34 29 | ...........while.(numBytes.>=.4) |
| 3400 | 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 | ..................{............. |
| 3420 | 20 20 20 20 20 20 20 20 20 2a 28 75 69 6e 74 2a 29 26 74 6f 5b 70 6f 73 5d 20 3d 20 28 28 75 69 | .........*(uint*)&to[pos].=.((ui |
| 3440 | 6e 74 29 76 61 6c 75 65 20 3c 3c 20 32 34 29 20 7c 20 28 28 75 69 6e 74 29 76 61 6c 75 65 20 3c | nt)value.<<.24).|.((uint)value.< |
| 3460 | 3c 20 31 36 29 20 7c 20 28 28 75 69 6e 74 29 76 61 6c 75 65 20 3c 3c 20 38 29 20 7c 20 76 61 6c | <.16).|.((uint)value.<<.8).|.val |
| 3480 | 75 65 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 75 6d 42 79 74 65 | ue;......................numByte |
| 34a0 | 73 20 2d 3d 20 34 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 6f 73 | s.-=.4;......................pos |
| 34c0 | 20 2b 3d 20 34 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 | .+=.4;..................}....... |
| 34e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 52 65 6d 61 69 6e 69 6e 67 20 62 79 74 65 73 2e | .............//.Remaining.bytes. |
| 3500 | 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 77 68 69 6c 65 20 28 6e 75 6d 42 79 74 65 | ..................while.(numByte |
| 3520 | 73 20 3e 20 30 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 | s.>.0)..................{....... |
| 3540 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 6f 5b 70 6f 73 5d 20 3d 20 76 61 6c 75 65 3b 0d | ...............to[pos].=.value;. |
| 3560 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 75 6d 42 79 74 65 73 20 2d 3d | .....................numBytes.-= |
| 3580 | 20 31 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 6f 73 20 2b 3d 20 | .1;......................pos.+=. |
| 35a0 | 31 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 20 20 20 | 1;..................}........... |
| 35c0 | 20 20 20 7d 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c | ...}..........}............///.< |
| 35e0 | 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 43 6f 70 79 20 66 72 6f 6d 20 | summary>..........///.Copy.from. |
| 3600 | 3c 70 61 72 61 6d 72 65 66 20 6e 61 6d 65 3d 22 73 6f 75 72 63 65 22 2f 3e 20 74 6f 20 3c 70 61 | <paramref.name="source"/>.to.<pa |
| 3620 | 72 61 6d 72 65 66 20 6e 61 6d 65 3d 22 64 65 73 74 69 6e 61 74 69 6f 6e 22 2f 3e 20 61 6c 6c 20 | ramref.name="destination"/>.all. |
| 3640 | 74 68 65 20 62 69 74 73 20 74 68 61 74 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 41 52 45 20 73 | the.bits.that..........///.ARE.s |
| 3660 | 65 74 20 69 6e 20 3c 70 61 72 61 6d 72 65 66 20 6e 61 6d 65 3d 22 6d 61 73 6b 22 2f 3e 2e 0d 0a | et.in.<paramref.name="mask"/>... |
| 3680 | 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20 20 20 | ........///.</summary>.......... |
| 36a0 | 2f 2f 2f 20 3c 70 61 72 61 6d 20 6e 61 6d 65 3d 22 64 65 73 74 69 6e 61 74 69 6f 6e 22 3e 4d 65 | ///.<param.name="destination">Me |
| 36c0 | 6d 6f 72 79 20 74 6f 20 63 6f 70 79 20 74 6f 2e 3c 2f 70 61 72 61 6d 3e 0d 0a 20 20 20 20 20 20 | mory.to.copy.to.</param>........ |
| 36e0 | 20 20 2f 2f 2f 20 3c 70 61 72 61 6d 20 6e 61 6d 65 3d 22 73 6f 75 72 63 65 22 3e 4d 65 6d 6f 72 | ..///.<param.name="source">Memor |
| 3700 | 79 20 74 6f 20 63 6f 70 79 20 66 72 6f 6d 2e 3c 2f 70 61 72 61 6d 3e 0d 0a 20 20 20 20 20 20 20 | y.to.copy.from.</param>......... |
| 3720 | 20 2f 2f 2f 20 3c 70 61 72 61 6d 20 6e 61 6d 65 3d 22 6e 75 6d 42 79 74 65 73 22 3e 4e 75 6d 62 | .///.<param.name="numBytes">Numb |
| 3740 | 65 72 20 6f 66 20 62 79 74 65 73 20 74 6f 20 63 6f 70 79 2e 3c 2f 70 61 72 61 6d 3e 0d 0a 20 20 | er.of.bytes.to.copy.</param>.... |
| 3760 | 20 20 20 20 20 20 2f 2f 2f 20 3c 70 61 72 61 6d 20 6e 61 6d 65 3d 22 6d 61 73 6b 22 3e 42 69 74 | ......///.<param.name="mask">Bit |
| 3780 | 6d 61 73 6b 20 74 68 61 74 20 64 65 74 65 72 6d 69 6e 65 73 20 77 68 69 63 68 20 62 69 74 73 20 | mask.that.determines.which.bits. |
| 37a0 | 74 6f 20 63 6f 70 79 2e 20 42 69 74 73 20 74 68 61 74 20 61 72 65 20 73 65 74 20 57 49 4c 4c 20 | to.copy..Bits.that.are.set.WILL. |
| 37c0 | 62 65 20 63 6f 70 69 65 64 2e 3c 2f 70 61 72 61 6d 3e 0d 0a 20 20 20 20 20 20 20 20 70 75 62 6c | be.copied.</param>..........publ |
| 37e0 | 69 63 20 73 74 61 74 69 63 20 76 6f 69 64 20 4d 65 6d 43 70 79 4d 61 73 6b 65 64 28 76 6f 69 64 | ic.static.void.MemCpyMasked(void |
| 3800 | 2a 20 64 65 73 74 69 6e 61 74 69 6f 6e 2c 20 76 6f 69 64 2a 20 73 6f 75 72 63 65 2c 20 69 6e 74 | *.destination,.void*.source,.int |
| 3820 | 20 6e 75 6d 42 79 74 65 73 2c 20 76 6f 69 64 2a 20 6d 61 73 6b 29 0d 0a 20 20 20 20 20 20 20 20 | .numBytes,.void*.mask).......... |
| 3840 | 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 66 72 6f 6d 20 3d 20 28 62 79 74 65 2a | {..............var.from.=.(byte* |
| 3860 | 29 73 6f 75 72 63 65 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 74 6f 20 3d 20 28 | )source;..............var.to.=.( |
| 3880 | 62 79 74 65 2a 29 64 65 73 74 69 6e 61 74 69 6f 6e 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 | byte*)destination;.............. |
| 38a0 | 76 61 72 20 62 69 74 73 20 3d 20 28 62 79 74 65 2a 29 6d 61 73 6b 3b 0d 0a 20 20 20 20 20 20 20 | var.bits.=.(byte*)mask;......... |
| 38c0 | 20 20 20 20 20 76 61 72 20 70 6f 73 20 3d 20 30 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 | .....var.pos.=.0;............... |
| 38e0 | 20 75 6e 63 68 65 63 6b 65 64 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 | .unchecked..............{....... |
| 3900 | 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 43 6f 70 79 20 36 34 62 69 74 20 62 6c 6f 63 6b 73 2e | ...........//.Copy.64bit.blocks. |
| 3920 | 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 69 66 20 55 4e 49 54 59 5f 36 34 0d 0a | ..................#if.UNITY_64.. |
| 3940 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 77 68 69 6c 65 20 28 6e 75 6d 42 79 74 65 73 20 | ................while.(numBytes. |
| 3960 | 3e 3d 20 38 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 | >=.8)..................{........ |
| 3980 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a 28 75 6c 6f 6e 67 2a 29 28 74 6f 20 2b 20 70 6f 73 | ..............*(ulong*)(to.+.pos |
| 39a0 | 29 20 26 3d 20 7e 2a 28 75 6c 6f 6e 67 2a 29 28 62 69 74 73 20 2b 20 70 6f 73 29 3b 20 2f 2f 20 | ).&=.~*(ulong*)(bits.+.pos);.//. |
| 39c0 | 50 72 65 73 65 72 76 65 20 75 6e 6d 61 73 6b 65 64 20 62 69 74 73 2e 0d 0a 20 20 20 20 20 20 20 | Preserve.unmasked.bits.......... |
| 39e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 2a 28 75 6c 6f 6e 67 2a 29 28 74 6f 20 2b 20 70 6f 73 29 | .............*(ulong*)(to.+.pos) |
| 3a00 | 20 7c 3d 20 2a 28 75 6c 6f 6e 67 2a 29 28 66 72 6f 6d 20 2b 20 70 6f 73 29 20 26 20 2a 28 75 6c | .|=.*(ulong*)(from.+.pos).&.*(ul |
| 3a20 | 6f 6e 67 2a 29 28 62 69 74 73 20 2b 20 70 6f 73 29 3b 20 2f 2f 20 43 6f 70 79 20 6d 61 73 6b 65 | ong*)(bits.+.pos);.//.Copy.maske |
| 3a40 | 64 20 62 69 74 73 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 75 6d | d.bits.......................num |
| 3a60 | 42 79 74 65 73 20 2d 3d 20 38 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | Bytes.-=.8;..................... |
| 3a80 | 20 70 6f 73 20 2b 3d 20 38 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 20 | .pos.+=.8;..................}... |
| 3aa0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 65 6e 64 69 66 0d 0a 0d 0a 20 20 20 20 20 20 20 | ...............#endif........... |
| 3ac0 | 20 20 20 20 20 20 20 20 20 2f 2f 20 43 6f 70 79 20 33 32 62 69 74 20 62 6c 6f 63 6b 73 2e 0d 0a | .........//.Copy.32bit.blocks... |
| 3ae0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 77 68 69 6c 65 20 28 6e 75 6d 42 79 74 65 73 20 | ................while.(numBytes. |
| 3b00 | 3e 3d 20 34 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 | >=.4)..................{........ |
| 3b20 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a 28 75 69 6e 74 2a 29 28 74 6f 20 2b 20 70 6f 73 29 | ..............*(uint*)(to.+.pos) |
| 3b40 | 20 26 3d 20 7e 2a 28 75 69 6e 74 2a 29 28 62 69 74 73 20 2b 20 70 6f 73 29 3b 20 2f 2f 20 50 72 | .&=.~*(uint*)(bits.+.pos);.//.Pr |
| 3b60 | 65 73 65 72 76 65 20 75 6e 6d 61 73 6b 65 64 20 62 69 74 73 2e 0d 0a 20 20 20 20 20 20 20 20 20 | eserve.unmasked.bits............ |
| 3b80 | 20 20 20 20 20 20 20 20 20 20 20 2a 28 75 69 6e 74 2a 29 28 74 6f 20 2b 20 70 6f 73 29 20 7c 3d | ...........*(uint*)(to.+.pos).|= |
| 3ba0 | 20 2a 28 75 69 6e 74 2a 29 28 66 72 6f 6d 20 2b 20 70 6f 73 29 20 26 20 2a 28 75 69 6e 74 2a 29 | .*(uint*)(from.+.pos).&.*(uint*) |
| 3bc0 | 28 62 69 74 73 20 2b 20 70 6f 73 29 3b 20 2f 2f 20 43 6f 70 79 20 6d 61 73 6b 65 64 20 62 69 74 | (bits.+.pos);.//.Copy.masked.bit |
| 3be0 | 73 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 75 6d 42 79 74 65 73 | s.......................numBytes |
| 3c00 | 20 2d 3d 20 34 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 6f 73 20 | .-=.4;......................pos. |
| 3c20 | 2b 3d 20 34 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 | +=.4;..................}........ |
| 3c40 | 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 43 6f 70 79 20 72 65 6d 61 69 6e 69 6e 67 20 62 79 | ............//.Copy.remaining.by |
| 3c60 | 74 65 73 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 77 68 69 6c 65 20 28 6e 75 6d | tes...................while.(num |
| 3c80 | 42 79 74 65 73 20 3e 20 30 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 | Bytes.>.0)..................{... |
| 3ca0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 75 6e 63 68 65 63 6b 65 64 0d 0a 20 20 | ...................unchecked.... |
| 3cc0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 | ..................{............. |
| 3ce0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 74 6f 5b 70 6f 73 5d 20 26 3d 20 28 62 79 74 65 29 7e 62 | .............to[pos].&=.(byte)~b |
| 3d00 | 69 74 73 5b 70 6f 73 5d 3b 20 2f 2f 20 50 72 65 73 65 72 76 65 20 75 6e 6d 61 73 6b 65 64 20 62 | its[pos];.//.Preserve.unmasked.b |
| 3d20 | 69 74 73 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 6f | its...........................to |
| 3d40 | 5b 70 6f 73 5d 20 7c 3d 20 28 62 79 74 65 29 28 66 72 6f 6d 5b 70 6f 73 5d 20 26 20 62 69 74 73 | [pos].|=.(byte)(from[pos].&.bits |
| 3d60 | 5b 70 6f 73 5d 29 3b 20 2f 2f 20 43 6f 70 79 20 6d 61 73 6b 65 64 20 62 69 74 73 2e 0d 0a 20 20 | [pos]);.//.Copy.masked.bits..... |
| 3d80 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 20 20 20 20 20 | ..................}............. |
| 3da0 | 20 20 20 20 20 20 20 20 20 6e 75 6d 42 79 74 65 73 20 2d 3d 20 31 3b 0d 0a 20 20 20 20 20 20 20 | .........numBytes.-=.1;......... |
| 3dc0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 70 6f 73 20 2b 3d 20 31 3b 0d 0a 20 20 20 20 20 20 20 20 | .............pos.+=.1;.......... |
| 3de0 | 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 | ........}..............}........ |
| 3e00 | 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 69 6e 74 | ..}............public.static.int |
| 3e20 | 20 52 65 61 64 49 6e 74 46 72 6f 6d 4d 75 6c 74 69 70 6c 65 42 69 74 73 28 76 6f 69 64 2a 20 70 | .ReadIntFromMultipleBits(void*.p |
| 3e40 | 74 72 2c 20 75 69 6e 74 20 62 69 74 4f 66 66 73 65 74 2c 20 75 69 6e 74 20 62 69 74 43 6f 75 6e | tr,.uint.bitOffset,.uint.bitCoun |
| 3e60 | 74 29 0d 0a 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 70 | t)..........{..............if.(p |
| 3e80 | 74 72 20 3d 3d 20 6e 75 6c 6c 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 68 72 | tr.==.null)..................thr |
| 3ea0 | 6f 77 20 6e 65 77 20 41 72 67 75 6d 65 6e 74 4e 75 6c 6c 45 78 63 65 70 74 69 6f 6e 28 6e 61 6d | ow.new.ArgumentNullException(nam |
| 3ec0 | 65 6f 66 28 70 74 72 29 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 62 69 74 43 | eof(ptr));..............if.(bitC |
| 3ee0 | 6f 75 6e 74 20 3e 3d 20 73 69 7a 65 6f 66 28 69 6e 74 29 20 2a 20 38 29 0d 0a 20 20 20 20 20 20 | ount.>=.sizeof(int).*.8)........ |
| 3f00 | 20 20 20 20 20 20 20 20 20 20 74 68 72 6f 77 20 6e 65 77 20 41 72 67 75 6d 65 6e 74 45 78 63 65 | ..........throw.new.ArgumentExce |
| 3f20 | 70 74 69 6f 6e 28 22 54 72 79 69 6e 67 20 74 6f 20 72 65 61 64 20 6d 6f 72 65 20 74 68 61 6e 20 | ption("Trying.to.read.more.than. |
| 3f40 | 33 32 20 62 69 74 73 20 61 73 20 69 6e 74 22 2c 20 6e 61 6d 65 6f 66 28 62 69 74 43 6f 75 6e 74 | 32.bits.as.int",.nameof(bitCount |
| 3f60 | 29 29 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 53 68 69 66 74 20 74 68 65 20 | ));................//.Shift.the. |
| 3f80 | 70 6f 69 6e 74 65 72 20 75 70 20 6f 6e 20 6c 61 72 67 65 72 20 62 69 74 6d 61 73 6b 73 20 61 6e | pointer.up.on.larger.bitmasks.an |
| 3fa0 | 64 20 72 65 74 72 79 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 62 69 74 4f 66 66 | d.retry...............if.(bitOff |
| 3fc0 | 73 65 74 20 3e 20 33 32 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 | set.>.32)..............{........ |
| 3fe0 | 20 20 20 20 20 20 20 20 20 20 76 61 72 20 6e 65 77 42 69 74 4f 66 66 73 65 74 20 3d 20 28 69 6e | ..........var.newBitOffset.=.(in |
| 4000 | 74 29 62 69 74 4f 66 66 73 65 74 20 25 20 33 32 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | t)bitOffset.%.32;............... |
| 4020 | 20 20 20 76 61 72 20 69 6e 74 4f 66 66 73 65 74 20 3d 20 28 28 69 6e 74 29 62 69 74 4f 66 66 73 | ...var.intOffset.=.((int)bitOffs |
| 4040 | 65 74 20 2d 20 6e 65 77 42 69 74 4f 66 66 73 65 74 29 20 2f 20 33 32 3b 0d 0a 20 20 20 20 20 20 | et.-.newBitOffset)./.32;........ |
| 4060 | 20 20 20 20 20 20 20 20 20 20 70 74 72 20 3d 20 28 62 79 74 65 2a 29 70 74 72 20 2b 20 28 69 6e | ..........ptr.=.(byte*)ptr.+.(in |
| 4080 | 74 4f 66 66 73 65 74 20 2a 20 34 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 | tOffset.*.4);..................b |
| 40a0 | 69 74 4f 66 66 73 65 74 20 3d 20 28 75 69 6e 74 29 6e 65 77 42 69 74 4f 66 66 73 65 74 3b 0d 0a | itOffset.=.(uint)newBitOffset;.. |
| 40c0 | 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 | ............}................//. |
| 40e0 | 42 69 74 73 20 6f 75 74 20 6f 66 20 62 79 74 65 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 | Bits.out.of.byte...............i |
| 4100 | 66 20 28 62 69 74 4f 66 66 73 65 74 20 2b 20 62 69 74 43 6f 75 6e 74 20 3c 3d 20 38 29 0d 0a 20 | f.(bitOffset.+.bitCount.<=.8)... |
| 4120 | 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 | ...........{..................va |
| 4140 | 72 20 76 61 6c 75 65 20 3d 20 2a 28 62 79 74 65 2a 29 70 74 72 3b 0d 0a 20 20 20 20 20 20 20 20 | r.value.=.*(byte*)ptr;.......... |
| 4160 | 20 20 20 20 20 20 20 20 76 61 6c 75 65 20 3e 3e 3d 20 28 69 6e 74 29 62 69 74 4f 66 66 73 65 74 | ........value.>>=.(int)bitOffset |
| 4180 | 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 6d 61 73 6b 20 3d 20 30 78 | ;..................var.mask.=.0x |
| 41a0 | 46 46 20 3e 3e 20 28 38 20 2d 20 28 69 6e 74 29 62 69 74 43 6f 75 6e 74 29 3b 0d 0a 20 20 20 20 | FF.>>.(8.-.(int)bitCount);...... |
| 41c0 | 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 26 20 6d 61 73 6b 3b | ............return.value.&.mask; |
| 41e0 | 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f | ..............}................/ |
| 4200 | 2f 20 42 69 74 73 20 6f 75 74 20 6f 66 20 73 68 6f 72 74 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 | /.Bits.out.of.short............. |
| 4220 | 20 20 69 66 20 28 62 69 74 4f 66 66 73 65 74 20 2b 20 62 69 74 43 6f 75 6e 74 20 3c 3d 20 31 36 | ..if.(bitOffset.+.bitCount.<=.16 |
| 4240 | 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | )..............{................ |
| 4260 | 20 20 76 61 72 20 76 61 6c 75 65 20 3d 20 2a 28 75 73 68 6f 72 74 2a 29 70 74 72 3b 0d 0a 20 20 | ..var.value.=.*(ushort*)ptr;.... |
| 4280 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 6c 75 65 20 3e 3e 3d 20 28 69 6e 74 29 62 69 74 | ..............value.>>=.(int)bit |
| 42a0 | 4f 66 66 73 65 74 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 6d 61 73 | Offset;..................var.mas |
| 42c0 | 6b 20 3d 20 30 78 46 46 46 46 20 3e 3e 20 28 31 36 20 2d 20 28 69 6e 74 29 62 69 74 43 6f 75 6e | k.=.0xFFFF.>>.(16.-.(int)bitCoun |
| 42e0 | 74 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 76 61 6c 75 | t);..................return.valu |
| 4300 | 65 20 26 20 6d 61 73 6b 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 | e.&.mask;..............}........ |
| 4320 | 20 20 20 20 20 20 20 20 2f 2f 20 42 69 74 73 20 6f 75 74 20 6f 66 20 69 6e 74 2e 0d 0a 20 20 20 | ........//.Bits.out.of.int...... |
| 4340 | 20 20 20 20 20 20 20 20 20 69 66 20 28 62 69 74 4f 66 66 73 65 74 20 2b 20 62 69 74 43 6f 75 6e | .........if.(bitOffset.+.bitCoun |
| 4360 | 74 20 3c 3d 20 33 32 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 | t.<=.32)..............{......... |
| 4380 | 20 20 20 20 20 20 20 20 20 76 61 72 20 76 61 6c 75 65 20 3d 20 2a 28 75 69 6e 74 2a 29 70 74 72 | .........var.value.=.*(uint*)ptr |
| 43a0 | 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 6c 75 65 20 3e 3e 3d 20 28 69 6e | ;..................value.>>=.(in |
| 43c0 | 74 29 62 69 74 4f 66 66 73 65 74 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 | t)bitOffset;..................va |
| 43e0 | 72 20 6d 61 73 6b 20 3d 20 30 78 46 46 46 46 46 46 46 46 20 3e 3e 20 28 33 32 20 2d 20 28 69 6e | r.mask.=.0xFFFFFFFF.>>.(32.-.(in |
| 4400 | 74 29 62 69 74 43 6f 75 6e 74 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 | t)bitCount);..................re |
| 4420 | 74 75 72 6e 20 28 69 6e 74 29 28 76 61 6c 75 65 20 26 20 6d 61 73 6b 29 3b 0d 0a 20 20 20 20 20 | turn.(int)(value.&.mask);....... |
| 4440 | 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 74 68 72 6f 77 20 6e 65 | .......}................throw.ne |
| 4460 | 77 20 4e 6f 74 49 6d 70 6c 65 6d 65 6e 74 65 64 45 78 63 65 70 74 69 6f 6e 28 22 52 65 61 64 69 | w.NotImplementedException("Readi |
| 4480 | 6e 67 20 69 6e 74 20 73 74 72 61 64 64 6c 69 6e 67 20 69 6e 74 20 62 6f 75 6e 64 61 72 79 22 29 | ng.int.straddling.int.boundary") |
| 44a0 | 3b 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 73 | ;..........}............public.s |
| 44c0 | 74 61 74 69 63 20 76 6f 69 64 20 57 72 69 74 65 49 6e 74 46 72 6f 6d 4d 75 6c 74 69 70 6c 65 42 | tatic.void.WriteIntFromMultipleB |
| 44e0 | 69 74 73 28 76 6f 69 64 2a 20 70 74 72 2c 20 75 69 6e 74 20 62 69 74 4f 66 66 73 65 74 2c 20 75 | its(void*.ptr,.uint.bitOffset,.u |
| 4500 | 69 6e 74 20 62 69 74 43 6f 75 6e 74 2c 20 69 6e 74 20 76 61 6c 75 65 29 0d 0a 20 20 20 20 20 20 | int.bitCount,.int.value)........ |
| 4520 | 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 70 74 72 20 3d 3d 20 6e 75 6c 6c | ..{..............if.(ptr.==.null |
| 4540 | 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 68 72 6f 77 20 6e 65 77 20 41 72 67 | )..................throw.new.Arg |
| 4560 | 75 6d 65 6e 74 4e 75 6c 6c 45 78 63 65 70 74 69 6f 6e 28 6e 61 6d 65 6f 66 28 70 74 72 29 29 3b | umentNullException(nameof(ptr)); |
| 4580 | 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 62 69 74 43 6f 75 6e 74 20 3e 3d 20 73 69 | ..............if.(bitCount.>=.si |
| 45a0 | 7a 65 6f 66 28 69 6e 74 29 20 2a 20 38 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | zeof(int).*.8).................. |
| 45c0 | 74 68 72 6f 77 20 6e 65 77 20 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 22 54 72 79 | throw.new.ArgumentException("Try |
| 45e0 | 69 6e 67 20 74 6f 20 77 72 69 74 65 20 6d 6f 72 65 20 74 68 61 6e 20 33 32 20 62 69 74 73 20 61 | ing.to.write.more.than.32.bits.a |
| 4600 | 73 20 69 6e 74 22 2c 20 6e 61 6d 65 6f 66 28 62 69 74 43 6f 75 6e 74 29 29 3b 0d 0a 0d 0a 20 20 | s.int",.nameof(bitCount));...... |
| 4620 | 20 20 20 20 20 20 20 20 20 20 2f 2f 20 42 69 74 73 20 6f 75 74 20 6f 66 20 62 79 74 65 2e 0d 0a | ..........//.Bits.out.of.byte... |
| 4640 | 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 62 69 74 4f 66 66 73 65 74 20 2b 20 62 69 74 43 | ............if.(bitOffset.+.bitC |
| 4660 | 6f 75 6e 74 20 3c 3d 20 38 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 | ount.<=.8)..............{....... |
| 4680 | 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 62 79 74 65 56 61 6c 75 65 20 3d 20 28 62 79 74 65 | ...........var.byteValue.=.(byte |
| 46a0 | 29 76 61 6c 75 65 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 79 74 65 56 61 6c | )value;..................byteVal |
| 46c0 | 75 65 20 3c 3c 3d 20 28 69 6e 74 29 62 69 74 4f 66 66 73 65 74 3b 0d 0a 20 20 20 20 20 20 20 20 | ue.<<=.(int)bitOffset;.......... |
| 46e0 | 20 20 20 20 20 20 20 20 76 61 72 20 6d 61 73 6b 20 3d 20 7e 28 28 30 78 46 46 20 3e 3e 20 28 38 | ........var.mask.=.~((0xFF.>>.(8 |
| 4700 | 20 2d 20 28 69 6e 74 29 62 69 74 43 6f 75 6e 74 29 29 20 3c 3c 20 28 69 6e 74 29 62 69 74 4f 66 | .-.(int)bitCount)).<<.(int)bitOf |
| 4720 | 66 73 65 74 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a 28 62 79 74 65 2a 29 | fset);..................*(byte*) |
| 4740 | 70 74 72 20 3d 20 28 62 79 74 65 29 28 28 2a 28 62 79 74 65 2a 29 70 74 72 20 26 20 6d 61 73 6b | ptr.=.(byte)((*(byte*)ptr.&.mask |
| 4760 | 29 20 7c 20 62 79 74 65 56 61 6c 75 65 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ).|.byteValue);................. |
| 4780 | 20 72 65 74 75 72 6e 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 | .return;..............}......... |
| 47a0 | 20 20 20 20 20 20 20 2f 2f 20 42 69 74 73 20 6f 75 74 20 6f 66 20 73 68 6f 72 74 2e 0d 0a 20 20 | .......//.Bits.out.of.short..... |
| 47c0 | 20 20 20 20 20 20 20 20 20 20 69 66 20 28 62 69 74 4f 66 66 73 65 74 20 2b 20 62 69 74 43 6f 75 | ..........if.(bitOffset.+.bitCou |
| 47e0 | 6e 74 20 3c 3d 20 31 36 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 | nt.<=.16)..............{........ |
| 4800 | 20 20 20 20 20 20 20 20 20 20 76 61 72 20 73 68 6f 72 74 56 61 6c 75 65 20 3d 20 28 75 73 68 6f | ..........var.shortValue.=.(usho |
| 4820 | 72 74 29 76 61 6c 75 65 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 68 6f 72 74 | rt)value;..................short |
| 4840 | 56 61 6c 75 65 20 3c 3c 3d 20 28 69 6e 74 29 62 69 74 4f 66 66 73 65 74 3b 0d 0a 20 20 20 20 20 | Value.<<=.(int)bitOffset;....... |
| 4860 | 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 6d 61 73 6b 20 3d 20 7e 28 28 30 78 46 46 46 46 20 | ...........var.mask.=.~((0xFFFF. |
| 4880 | 3e 3e 20 28 31 36 20 2d 20 28 69 6e 74 29 62 69 74 43 6f 75 6e 74 29 29 20 3c 3c 20 28 69 6e 74 | >>.(16.-.(int)bitCount)).<<.(int |
| 48a0 | 29 62 69 74 4f 66 66 73 65 74 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a 28 | )bitOffset);..................*( |
| 48c0 | 75 73 68 6f 72 74 2a 29 70 74 72 20 3d 20 28 75 73 68 6f 72 74 29 28 28 2a 28 75 73 68 6f 72 74 | ushort*)ptr.=.(ushort)((*(ushort |
| 48e0 | 2a 29 70 74 72 20 26 20 6d 61 73 6b 29 20 7c 20 73 68 6f 72 74 56 61 6c 75 65 29 3b 0d 0a 20 20 | *)ptr.&.mask).|.shortValue);.... |
| 4900 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 3b 0d 0a 20 20 20 20 20 20 20 20 20 | ..............return;........... |
| 4920 | 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 42 69 74 73 20 6f 75 74 20 | ...}................//.Bits.out. |
| 4940 | 6f 66 20 69 6e 74 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 62 69 74 4f 66 66 73 | of.int...............if.(bitOffs |
| 4960 | 65 74 20 2b 20 62 69 74 43 6f 75 6e 74 20 3c 3d 20 33 32 29 0d 0a 20 20 20 20 20 20 20 20 20 20 | et.+.bitCount.<=.32)............ |
| 4980 | 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 69 6e 74 56 61 6c 75 | ..{..................var.intValu |
| 49a0 | 65 20 3d 20 28 75 69 6e 74 29 76 61 6c 75 65 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | e.=.(uint)value;................ |
| 49c0 | 20 20 69 6e 74 56 61 6c 75 65 20 3c 3c 3d 20 28 69 6e 74 29 62 69 74 4f 66 66 73 65 74 3b 0d 0a | ..intValue.<<=.(int)bitOffset;.. |
| 49e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 6d 61 73 6b 20 3d 20 7e 28 28 30 78 | ................var.mask.=.~((0x |
| 4a00 | 46 46 46 46 46 46 46 46 20 3e 3e 20 28 33 32 20 2d 20 28 69 6e 74 29 62 69 74 43 6f 75 6e 74 29 | FFFFFFFF.>>.(32.-.(int)bitCount) |
| 4a20 | 29 20 3c 3c 20 28 69 6e 74 29 62 69 74 4f 66 66 73 65 74 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 | ).<<.(int)bitOffset);........... |
| 4a40 | 20 20 20 20 20 20 20 2a 28 69 6e 74 2a 29 70 74 72 20 3d 20 28 69 6e 74 29 28 28 2a 28 69 6e 74 | .......*(int*)ptr.=.(int)((*(int |
| 4a60 | 2a 29 70 74 72 20 26 20 6d 61 73 6b 29 20 7c 20 69 6e 74 56 61 6c 75 65 29 3b 0d 0a 20 20 20 20 | *)ptr.&.mask).|.intValue);...... |
| 4a80 | 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 | ............return;............. |
| 4aa0 | 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 74 68 72 6f 77 20 6e 65 77 20 4e 6f 74 49 | .}................throw.new.NotI |
| 4ac0 | 6d 70 6c 65 6d 65 6e 74 65 64 45 78 63 65 70 74 69 6f 6e 28 22 57 72 69 74 69 6e 67 20 69 6e 74 | mplementedException("Writing.int |
| 4ae0 | 20 73 74 72 61 64 64 6c 69 6e 67 20 69 6e 74 20 62 6f 75 6e 64 61 72 79 22 29 3b 0d 0a 20 20 20 | .straddling.int.boundary");..... |
| 4b00 | 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 | .....}............public.static. |
| 4b20 | 76 6f 69 64 20 53 65 74 42 69 74 73 49 6e 42 75 66 66 65 72 28 76 6f 69 64 2a 20 62 75 66 66 65 | void.SetBitsInBuffer(void*.buffe |
| 4b40 | 72 2c 20 69 6e 74 20 62 79 74 65 4f 66 66 73 65 74 2c 20 69 6e 74 20 62 69 74 4f 66 66 73 65 74 | r,.int.byteOffset,.int.bitOffset |
| 4b60 | 2c 20 69 6e 74 20 73 69 7a 65 49 6e 42 69 74 73 2c 20 62 6f 6f 6c 20 76 61 6c 75 65 29 0d 0a 20 | ,.int.sizeInBits,.bool.value)... |
| 4b80 | 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 62 75 66 66 65 72 | .......{..............if.(buffer |
| 4ba0 | 20 3d 3d 20 6e 75 6c 6c 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 68 72 6f 77 | .==.null)..................throw |
| 4bc0 | 20 6e 65 77 20 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 22 41 20 62 75 66 66 65 72 | .new.ArgumentException("A.buffer |
| 4be0 | 20 6d 75 73 74 20 62 65 20 70 72 6f 76 69 64 65 64 20 74 6f 20 61 70 70 6c 79 20 74 68 65 20 62 | .must.be.provided.to.apply.the.b |
| 4c00 | 69 74 6d 61 73 6b 20 6f 6e 22 2c 20 6e 61 6d 65 6f 66 28 62 75 66 66 65 72 29 29 3b 0d 0a 20 20 | itmask.on",.nameof(buffer));.... |
| 4c20 | 20 20 20 20 20 20 20 20 20 20 69 66 20 28 73 69 7a 65 49 6e 42 69 74 73 20 3c 20 30 29 0d 0a 20 | ..........if.(sizeInBits.<.0)... |
| 4c40 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 68 72 6f 77 20 6e 65 77 20 41 72 67 75 6d 65 6e | ...............throw.new.Argumen |
| 4c60 | 74 45 78 63 65 70 74 69 6f 6e 28 22 4e 65 67 61 74 69 76 65 20 73 69 7a 65 49 6e 42 69 74 73 22 | tException("Negative.sizeInBits" |
| 4c80 | 2c 20 6e 61 6d 65 6f 66 28 73 69 7a 65 49 6e 42 69 74 73 29 29 3b 0d 0a 20 20 20 20 20 20 20 20 | ,.nameof(sizeInBits));.......... |
| 4ca0 | 20 20 20 20 69 66 20 28 62 69 74 4f 66 66 73 65 74 20 3c 20 30 29 0d 0a 20 20 20 20 20 20 20 20 | ....if.(bitOffset.<.0).......... |
| 4cc0 | 20 20 20 20 20 20 20 20 74 68 72 6f 77 20 6e 65 77 20 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 | ........throw.new.ArgumentExcept |
| 4ce0 | 69 6f 6e 28 22 4e 65 67 61 74 69 76 65 20 62 69 74 4f 66 66 73 65 74 22 2c 20 6e 61 6d 65 6f 66 | ion("Negative.bitOffset",.nameof |
| 4d00 | 28 62 69 74 4f 66 66 73 65 74 29 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 62 | (bitOffset));..............if.(b |
| 4d20 | 79 74 65 4f 66 66 73 65 74 20 3c 20 30 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | yteOffset.<.0).................. |
| 4d40 | 74 68 72 6f 77 20 6e 65 77 20 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 22 4e 65 67 | throw.new.ArgumentException("Neg |
| 4d60 | 61 74 69 76 65 20 62 79 74 65 4f 66 66 73 65 74 22 2c 20 6e 61 6d 65 6f 66 28 62 79 74 65 4f 66 | ative.byteOffset",.nameof(byteOf |
| 4d80 | 66 73 65 74 29 29 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 49 66 20 77 65 27 | fset));................//.If.we' |
| 4da0 | 72 65 20 6f 66 66 73 65 74 20 62 79 20 6d 6f 72 65 20 74 68 61 6e 20 61 20 62 79 74 65 2c 20 61 | re.offset.by.more.than.a.byte,.a |
| 4dc0 | 64 6a 75 73 74 20 6f 75 72 20 70 6f 69 6e 74 65 72 73 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 | djust.our.pointers.............. |
| 4de0 | 20 69 66 20 28 62 69 74 4f 66 66 73 65 74 20 3e 3d 20 38 29 0d 0a 20 20 20 20 20 20 20 20 20 20 | .if.(bitOffset.>=.8)............ |
| 4e00 | 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 73 6b 69 70 42 79 74 | ..{..................var.skipByt |
| 4e20 | 65 73 20 3d 20 62 69 74 4f 66 66 73 65 74 20 2f 20 38 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 | es.=.bitOffset./.8;............. |
| 4e40 | 20 20 20 20 20 62 79 74 65 4f 66 66 73 65 74 20 2b 3d 20 73 6b 69 70 42 79 74 65 73 3b 0d 0a 20 | .....byteOffset.+=.skipBytes;... |
| 4e60 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 69 74 4f 66 66 73 65 74 20 25 3d 20 38 3b 0d 0a | ...............bitOffset.%=.8;.. |
| 4e80 | 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 | ............}................var |
| 4ea0 | 20 62 79 74 65 50 6f 73 20 3d 20 28 62 79 74 65 2a 29 62 75 66 66 65 72 20 2b 20 62 79 74 65 4f | .bytePos.=.(byte*)buffer.+.byteO |
| 4ec0 | 66 66 73 65 74 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 73 69 7a 65 52 65 6d 61 | ffset;..............var.sizeRema |
| 4ee0 | 69 6e 69 6e 67 49 6e 42 69 74 73 20 3d 20 73 69 7a 65 49 6e 42 69 74 73 3b 0d 0a 0d 0a 20 20 20 | iningInBits.=.sizeInBits;....... |
| 4f00 | 20 20 20 20 20 20 20 20 20 2f 2f 20 48 61 6e 64 6c 65 20 66 69 72 73 74 20 62 79 74 65 20 73 65 | .........//.Handle.first.byte.se |
| 4f20 | 70 61 72 61 74 65 6c 79 20 69 66 20 75 6e 61 6c 69 67 6e 65 64 20 74 6f 20 62 79 74 65 20 62 6f | parately.if.unaligned.to.byte.bo |
| 4f40 | 75 6e 64 61 72 79 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 62 69 74 4f 66 66 73 | undary...............if.(bitOffs |
| 4f60 | 65 74 20 21 3d 20 30 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 | et.!=.0)..............{......... |
| 4f80 | 20 20 20 20 20 20 20 20 20 76 61 72 20 6d 61 73 6b 20 3d 20 30 78 46 46 20 3c 3c 20 62 69 74 4f | .........var.mask.=.0xFF.<<.bitO |
| 4fa0 | 66 66 73 65 74 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 73 69 7a 65 | ffset;..................if.(size |
| 4fc0 | 52 65 6d 61 69 6e 69 6e 67 49 6e 42 69 74 73 20 2b 20 62 69 74 4f 66 66 73 65 74 20 3c 20 38 29 | RemainingInBits.+.bitOffset.<.8) |
| 4fe0 | 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 | ..................{............. |
| 5000 | 20 20 20 20 20 20 20 20 20 6d 61 73 6b 20 26 3d 20 30 78 46 46 20 3e 3e 20 28 38 20 2d 20 28 73 | .........mask.&=.0xFF.>>.(8.-.(s |
| 5020 | 69 7a 65 52 65 6d 61 69 6e 69 6e 67 49 6e 42 69 74 73 20 2b 20 62 69 74 4f 66 66 73 65 74 29 29 | izeRemainingInBits.+.bitOffset)) |
| 5040 | 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 | ;..................}............ |
| 5060 | 20 20 20 20 20 20 20 20 69 66 20 28 76 61 6c 75 65 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 | ........if.(value).............. |
| 5080 | 20 20 20 20 20 20 20 20 2a 62 79 74 65 50 6f 73 20 7c 3d 20 28 62 79 74 65 29 6d 61 73 6b 3b 0d | ........*bytePos.|=.(byte)mask;. |
| 50a0 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 6c 73 65 0d 0a 20 20 20 20 20 20 20 20 20 | .................else........... |
| 50c0 | 20 20 20 20 20 20 20 20 20 20 20 2a 62 79 74 65 50 6f 73 20 26 3d 20 28 62 79 74 65 29 7e 6d 61 | ...........*bytePos.&=.(byte)~ma |
| 50e0 | 73 6b 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2b 2b 62 79 74 65 50 6f 73 3b 0d | sk;..................++bytePos;. |
| 5100 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 69 7a 65 52 65 6d 61 69 6e 69 6e 67 49 6e | .................sizeRemainingIn |
| 5120 | 42 69 74 73 20 2d 3d 20 38 20 2d 20 62 69 74 4f 66 66 73 65 74 3b 0d 0a 20 20 20 20 20 20 20 20 | Bits.-=.8.-.bitOffset;.......... |
| 5140 | 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 48 61 6e 64 6c 65 20 66 | ....}................//.Handle.f |
| 5160 | 75 6c 6c 20 62 79 74 65 73 20 69 6e 2d 62 65 74 77 65 65 6e 2e 0d 0a 20 20 20 20 20 20 20 20 20 | ull.bytes.in-between............ |
| 5180 | 20 20 20 77 68 69 6c 65 20 28 73 69 7a 65 52 65 6d 61 69 6e 69 6e 67 49 6e 42 69 74 73 20 3e 3d | ...while.(sizeRemainingInBits.>= |
| 51a0 | 20 38 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 | .8)..............{.............. |
| 51c0 | 20 20 20 20 2a 62 79 74 65 50 6f 73 20 3d 20 76 61 6c 75 65 20 3f 20 28 62 79 74 65 29 30 78 46 | ....*bytePos.=.value.?.(byte)0xF |
| 51e0 | 46 20 3a 20 28 62 79 74 65 29 30 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2b 2b | F.:.(byte)0;..................++ |
| 5200 | 62 79 74 65 50 6f 73 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 69 7a 65 52 65 | bytePos;..................sizeRe |
| 5220 | 6d 61 69 6e 69 6e 67 49 6e 42 69 74 73 20 2d 3d 20 38 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 | mainingInBits.-=.8;............. |
| 5240 | 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 48 61 6e 64 6c 65 20 75 6e 61 6c | .}................//.Handle.unal |
| 5260 | 69 67 6e 65 64 20 74 72 61 69 6c 69 6e 67 20 62 79 74 65 2c 20 69 66 20 70 72 65 73 65 6e 74 2e | igned.trailing.byte,.if.present. |
| 5280 | 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 73 69 7a 65 52 65 6d 61 69 6e 69 6e 67 49 | ..............if.(sizeRemainingI |
| 52a0 | 6e 42 69 74 73 20 3e 20 30 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 | nBits.>.0)..............{....... |
| 52c0 | 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 6d 61 73 6b 20 3d 20 28 62 79 74 65 29 28 30 78 46 | ...........var.mask.=.(byte)(0xF |
| 52e0 | 46 20 3e 3e 20 38 20 2d 20 73 69 7a 65 52 65 6d 61 69 6e 69 6e 67 49 6e 42 69 74 73 29 3b 0d 0a | F.>>.8.-.sizeRemainingInBits);.. |
| 5300 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 76 61 6c 75 65 29 0d 0a 20 20 20 20 | ................if.(value)...... |
| 5320 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a 62 79 74 65 50 6f 73 20 7c 3d 20 6d 61 73 6b | ................*bytePos.|=.mask |
| 5340 | 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 6c 73 65 0d 0a 20 20 20 20 20 20 20 | ;..................else......... |
| 5360 | 20 20 20 20 20 20 20 20 20 20 20 20 20 2a 62 79 74 65 50 6f 73 20 26 3d 20 28 62 79 74 65 29 7e | .............*bytePos.&=.(byte)~ |
| 5380 | 6d 61 73 6b 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 | mask;..............}............ |
| 53a0 | 20 20 20 20 44 65 62 75 67 2e 41 73 73 65 72 74 28 62 79 74 65 50 6f 73 20 3c 3d 20 28 62 79 74 | ....Debug.Assert(bytePos.<=.(byt |
| 53c0 | 65 2a 29 62 75 66 66 65 72 20 2b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 43 6f 6d | e*)buffer.+..................Com |
| 53e0 | 70 75 74 65 46 6f 6c 6c 6f 77 69 6e 67 42 79 74 65 4f 66 66 73 65 74 28 28 75 69 6e 74 29 62 79 | puteFollowingByteOffset((uint)by |
| 5400 | 74 65 4f 66 66 73 65 74 2c 20 28 75 69 6e 74 29 62 69 74 4f 66 66 73 65 74 20 2b 20 28 75 69 6e | teOffset,.(uint)bitOffset.+.(uin |
| 5420 | 74 29 73 69 7a 65 49 6e 42 69 74 73 29 29 3b 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 | t)sizeInBits));..........}...... |
| 5440 | 20 20 20 20 20 20 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 76 6f 69 64 20 53 77 61 70 3c 54 56 | ......public.static.void.Swap<TV |
| 5460 | 61 6c 75 65 3e 28 72 65 66 20 54 56 61 6c 75 65 20 61 2c 20 72 65 66 20 54 56 61 6c 75 65 20 62 | alue>(ref.TValue.a,.ref.TValue.b |
| 5480 | 29 0d 0a 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 74 65 | )..........{..............var.te |
| 54a0 | 6d 70 20 3d 20 61 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 61 20 3d 20 62 3b 0d 0a 20 20 20 | mp.=.a;..............a.=.b;..... |
| 54c0 | 20 20 20 20 20 20 20 20 20 62 20 3d 20 74 65 6d 70 3b 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a 20 | .........b.=.temp;..........}... |
| 54e0 | 20 20 20 7d 0d 0a 7d 0d 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ...}..}......................... |
| 5500 | 0d 00 00 00 4d 65 6d 6f 72 79 48 65 6c 70 65 72 73 00 00 00 21 00 00 00 55 6e 69 74 79 45 6e 67 | ....MemoryHelpers...!...UnityEng |
| 5520 | 69 6e 65 2e 49 6e 70 75 74 53 79 73 74 65 6d 2e 55 74 69 6c 69 74 69 65 73 00 00 00 | ine.InputSystem.Utilities... |