| ofs | hex dump | ascii |
|---|
| 0000 | 00 00 0f 81 00 00 9e dc 00 00 00 15 00 00 10 00 00 00 00 00 32 30 31 39 2e 33 2e 36 66 31 00 fe | ....................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 | 7c 8e 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 | |............................... |
| 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 0f 00 00 00 49 6e 70 75 74 53 74 61 74 65 42 6c 6f 63 6b 00 0f 8e 00 00 | ............InputStateBlock..... |
| 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 75 73 69 6e 67 20 55 | ctions.LowLevel.Unsafe;..using.U |
| 10e0 | 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 6c 69 74 69 65 73 | nityEngine.InputSystem.Utilities |
| 1100 | 3b 0d 0a 0d 0a 2f 2f 2f 2f 54 4f 44 4f 3a 20 74 68 65 20 44 65 62 75 67 2e 41 73 73 65 72 74 73 | ;....////TODO:.the.Debug.Asserts |
| 1120 | 20 68 65 72 65 20 73 68 6f 75 6c 64 20 62 65 20 61 6c 73 6f 20 62 65 20 6d 61 64 65 20 61 73 20 | .here.should.be.also.be.made.as. |
| 1140 | 63 68 65 63 6b 73 20 61 68 65 61 64 20 6f 66 20 74 69 6d 65 20 28 6f 6e 20 74 68 65 20 6c 61 79 | checks.ahead.of.time.(on.the.lay |
| 1160 | 6f 75 74 29 0d 0a 0d 0a 2f 2f 2f 2f 54 4f 44 4f 3a 20 74 68 65 20 72 65 61 64 2f 77 72 69 74 65 | out)....////TODO:.the.read/write |
| 1180 | 20 6d 65 74 68 6f 64 73 20 6e 65 65 64 20 61 20 70 72 6f 70 65 72 20 70 61 73 73 20 66 6f 72 20 | .methods.need.a.proper.pass.for. |
| 11a0 | 63 6f 6e 73 69 73 74 65 6e 63 79 0d 0a 0d 0a 2f 2f 2f 2f 46 49 58 4d 45 3a 20 73 6f 6d 65 20 61 | consistency....////FIXME:.some.a |
| 11c0 | 72 63 68 69 74 65 63 74 75 72 65 73 20 68 61 76 65 20 73 74 72 69 63 74 20 6d 65 6d 6f 72 79 20 | rchitectures.have.strict.memory. |
| 11e0 | 61 6c 69 67 6e 6d 65 6e 74 20 72 65 71 75 69 72 65 6d 65 6e 74 73 3b 20 77 65 20 73 68 6f 75 6c | alignment.requirements;.we.shoul |
| 1200 | 64 20 68 6f 6e 6f 72 20 74 68 65 6d 20 77 68 65 6e 0d 0a 2f 2f 2f 2f 20 20 20 20 20 20 20 77 65 | d.honor.them.when..////.......we |
| 1220 | 20 72 65 61 64 2f 77 72 69 74 65 20 70 72 69 6d 69 74 69 76 65 20 76 61 6c 75 65 73 20 6f 72 20 | .read/write.primitive.values.or. |
| 1240 | 73 75 70 70 6f 72 74 20 73 74 69 74 63 68 69 6e 67 20 76 61 6c 75 65 73 20 74 6f 67 65 74 68 65 | support.stitching.values.togethe |
| 1260 | 72 20 66 72 6f 6d 20 62 79 74 65 73 20 6d 61 6e 75 61 6c 6c 79 0d 0a 2f 2f 2f 2f 20 20 20 20 20 | r.from.bytes.manually..////..... |
| 1280 | 20 20 77 68 65 72 65 20 6e 65 65 64 65 64 0d 0a 0d 0a 2f 2f 2f 2f 54 4f 44 4f 3a 20 61 6c 6c 6f | ..where.needed....////TODO:.allo |
| 12a0 | 77 20 62 69 74 4f 66 66 73 65 74 20 74 6f 20 62 65 20 6e 6f 6e 2d 7a 65 72 6f 20 66 6f 72 20 62 | w.bitOffset.to.be.non-zero.for.b |
| 12c0 | 79 74 65 2d 61 6c 69 67 6e 65 64 20 63 6f 6e 74 72 6f 6c 20 61 73 20 6c 6f 6e 67 20 61 73 20 72 | yte-aligned.control.as.long.as.r |
| 12e0 | 65 73 75 6c 74 20 69 73 20 62 79 74 65 2d 61 6c 69 67 6e 65 64 0d 0a 0d 0a 2f 2f 2f 2f 52 45 56 | esult.is.byte-aligned....////REV |
| 1300 | 49 45 57 3a 20 54 68 65 20 63 6f 6d 62 69 6e 61 74 69 6f 6e 20 6f 66 20 62 79 74 65 20 61 6e 64 | IEW:.The.combination.of.byte.and |
| 1320 | 20 62 69 74 20 6f 66 66 73 65 74 20 69 6e 73 74 65 61 64 20 6f 66 20 6a 75 73 74 20 61 20 73 69 | .bit.offset.instead.of.just.a.si |
| 1340 | 6e 67 6c 65 20 62 69 74 20 6f 66 66 73 65 74 20 68 61 73 20 74 75 72 6e 65 64 20 6f 75 74 0d 0a | ngle.bit.offset.has.turned.out.. |
| 1360 | 2f 2f 2f 2f 20 20 20 20 20 20 20 20 74 6f 20 62 65 20 70 6c 65 6e 74 79 20 61 77 6b 77 61 72 64 | ////........to.be.plenty.awkward |
| 1380 | 20 74 6f 20 75 73 65 20 69 6e 20 70 72 61 63 74 69 63 65 3b 20 73 68 6f 75 6c 64 20 62 65 20 72 | .to.use.in.practice;.should.be.r |
| 13a0 | 65 70 6c 61 63 65 20 69 74 3f 0d 0a 0d 0a 2f 2f 2f 2f 52 45 56 49 45 57 3a 20 41 75 74 6f 6d 61 | eplace.it?....////REVIEW:.Automa |
| 13c0 | 74 69 63 4f 66 66 73 65 74 20 69 73 20 61 20 76 65 72 79 20 61 77 6b 77 61 72 64 20 6d 65 63 68 | ticOffset.is.a.very.awkward.mech |
| 13e0 | 61 6e 69 73 6d 3b 20 69 74 27 73 20 70 72 69 6d 61 72 79 20 75 73 65 20 72 65 61 6c 6c 79 20 69 | anism;.it's.primary.use.really.i |
| 1400 | 73 20 66 6f 72 20 22 70 61 72 6b 69 6e 67 22 20 75 6e 75 73 65 64 0d 0a 2f 2f 2f 2f 20 20 20 20 | s.for."parking".unused..////.... |
| 1420 | 20 20 20 20 63 6f 6e 74 72 6f 6c 73 20 66 6f 72 20 77 68 69 63 68 20 61 20 6d 6f 72 65 20 65 6c | ....controls.for.which.a.more.el |
| 1440 | 65 67 61 6e 74 20 61 6e 64 20 72 6f 62 75 73 74 20 6d 65 63 68 61 6e 69 73 6d 20 63 61 6e 20 73 | egant.and.robust.mechanism.can.s |
| 1460 | 75 72 65 6c 79 20 62 65 20 64 65 76 69 73 65 64 0d 0a 0d 0a 6e 61 6d 65 73 70 61 63 65 20 55 6e | urely.be.devised....namespace.Un |
| 1480 | 69 74 79 45 6e 67 69 6e 65 2e 49 6e 70 75 74 53 79 73 74 65 6d 2e 4c 6f 77 4c 65 76 65 6c 0d 0a | ityEngine.InputSystem.LowLevel.. |
| 14a0 | 7b 0d 0a 20 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 2f 2f 2f 20 49 6e | {......///.<summary>......///.In |
| 14c0 | 66 6f 72 6d 61 74 69 6f 6e 20 61 62 6f 75 74 20 61 20 6d 65 6d 6f 72 79 20 72 65 67 69 6f 6e 20 | formation.about.a.memory.region. |
| 14e0 | 73 74 6f 72 69 6e 67 20 69 6e 70 75 74 20 73 74 61 74 65 2e 0d 0a 20 20 20 20 2f 2f 2f 20 3c 2f | storing.input.state.......///.</ |
| 1500 | 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 2f 2f 2f 20 3c 72 65 6d 61 72 6b 73 3e 0d 0a 20 20 20 | summary>......///.<remarks>..... |
| 1520 | 20 2f 2f 2f 20 49 6e 70 75 74 20 73 74 61 74 65 20 69 73 20 6b 65 70 74 20 69 6e 20 72 61 77 20 | .///.Input.state.is.kept.in.raw. |
| 1540 | 6d 65 6d 6f 72 79 20 62 6c 6f 63 6b 73 2e 20 41 6c 6c 20 73 74 61 74 65 20 69 73 20 63 65 6e 74 | memory.blocks..All.state.is.cent |
| 1560 | 72 61 6c 6c 79 20 6d 61 6e 61 67 65 64 20 62 79 20 74 68 65 20 69 6e 70 75 74 20 73 79 73 74 65 | rally.managed.by.the.input.syste |
| 1580 | 6d 3b 0d 0a 20 20 20 20 2f 2f 2f 20 63 6f 6e 74 72 6f 6c 73 20 63 61 6e 6e 6f 74 20 6b 65 65 70 | m;......///.controls.cannot.keep |
| 15a0 | 20 74 68 65 69 72 20 6f 77 6e 20 69 6e 64 65 70 65 6e 64 65 6e 74 20 73 74 61 74 65 2e 0d 0a 20 | .their.own.independent.state.... |
| 15c0 | 20 20 20 2f 2f 2f 0d 0a 20 20 20 20 2f 2f 2f 20 45 61 63 68 20 73 74 61 74 65 20 62 6c 6f 63 6b | ...///......///.Each.state.block |
| 15e0 | 20 69 73 20 74 61 67 67 65 64 20 77 69 74 68 20 61 20 66 6f 72 6d 61 74 20 63 6f 64 65 20 69 6e | .is.tagged.with.a.format.code.in |
| 1600 | 64 69 63 61 74 69 6e 67 20 74 68 65 20 73 74 6f 72 61 67 65 20 66 6f 72 6d 61 74 20 75 73 65 64 | dicating.the.storage.format.used |
| 1620 | 20 66 6f 72 20 74 68 65 0d 0a 20 20 20 20 2f 2f 2f 20 6d 65 6d 6f 72 79 20 62 6c 6f 63 6b 2e 20 | .for.the......///.memory.block.. |
| 1640 | 54 68 69 73 20 63 61 6e 20 65 69 74 68 65 72 20 62 65 20 6f 6e 65 20 6f 75 74 20 6f 66 20 61 20 | This.can.either.be.one.out.of.a. |
| 1660 | 73 65 74 20 6f 66 20 70 72 69 6d 69 74 69 76 65 20 66 6f 72 6d 61 74 73 20 28 73 75 63 68 20 61 | set.of.primitive.formats.(such.a |
| 1680 | 73 20 22 49 4e 54 22 29 20 6f 72 20 61 20 63 75 73 74 6f 6d 0d 0a 20 20 20 20 2f 2f 2f 20 66 6f | s."INT").or.a.custom......///.fo |
| 16a0 | 72 6d 61 74 20 63 6f 64 65 20 69 6e 64 69 63 61 74 69 6e 67 20 61 20 6d 6f 72 65 20 63 6f 6d 70 | rmat.code.indicating.a.more.comp |
| 16c0 | 6c 65 78 20 66 6f 72 6d 61 74 2e 0d 0a 20 20 20 20 2f 2f 2f 0d 0a 20 20 20 20 2f 2f 2f 20 4d 65 | lex.format.......///......///.Me |
| 16e0 | 6d 6f 72 79 20 75 73 69 6e 67 20 70 72 69 6d 69 74 69 76 65 20 66 6f 72 6d 61 74 73 20 63 61 6e | mory.using.primitive.formats.can |
| 1700 | 20 62 65 20 63 6f 6e 76 65 72 74 65 64 20 74 6f 20 61 6e 64 20 66 72 6f 6d 20 70 72 69 6d 69 74 | .be.converted.to.and.from.primit |
| 1720 | 69 76 65 20 76 61 6c 75 65 73 20 64 69 72 65 63 74 6c 79 20 62 79 20 74 68 69 73 20 73 74 72 75 | ive.values.directly.by.this.stru |
| 1740 | 63 74 2e 0d 0a 20 20 20 20 2f 2f 2f 0d 0a 20 20 20 20 2f 2f 2f 20 53 74 61 74 65 20 6d 65 6d 6f | ct.......///......///.State.memo |
| 1760 | 72 79 20 69 73 20 62 69 74 2d 61 64 64 72 65 73 73 61 62 6c 65 2c 20 6d 65 61 6e 69 6e 67 20 74 | ry.is.bit-addressable,.meaning.t |
| 1780 | 68 61 74 20 69 74 20 63 61 6e 20 62 65 20 6f 66 66 73 65 74 20 66 72 6f 6d 20 61 20 62 79 74 65 | hat.it.can.be.offset.from.a.byte |
| 17a0 | 20 61 64 64 72 65 73 73 20 69 6e 20 62 69 74 73 20 28 3c 73 65 65 20 63 72 65 66 3d 22 62 69 74 | .address.in.bits.(<see.cref="bit |
| 17c0 | 4f 66 66 73 65 74 22 2f 3e 29 0d 0a 20 20 20 20 2f 2f 2f 20 61 6e 64 20 69 73 20 73 69 7a 65 64 | Offset"/>)......///.and.is.sized |
| 17e0 | 20 69 6e 20 62 69 74 73 20 69 6e 73 74 65 61 64 20 6f 66 20 62 79 74 65 73 20 28 3c 73 65 65 20 | .in.bits.instead.of.bytes.(<see. |
| 1800 | 63 72 65 66 3d 22 73 69 7a 65 49 6e 42 69 74 73 22 2f 3e 29 2e 20 48 6f 77 65 76 65 72 2c 20 69 | cref="sizeInBits"/>)..However,.i |
| 1820 | 6e 20 70 72 61 63 74 69 63 65 2c 20 62 69 74 2d 61 64 64 72 65 73 73 69 6e 67 0d 0a 20 20 20 20 | n.practice,.bit-addressing...... |
| 1840 | 2f 2f 2f 20 6d 65 6d 6f 72 79 20 72 65 61 64 73 20 61 6e 64 20 77 72 69 74 65 73 20 61 72 65 20 | ///.memory.reads.and.writes.are. |
| 1860 | 6f 6e 6c 79 20 73 75 70 70 6f 72 74 65 64 20 6f 6e 20 74 68 65 20 3c 73 65 65 20 63 72 65 66 3d | only.supported.on.the.<see.cref= |
| 1880 | 22 46 6f 72 6d 61 74 42 69 74 22 3e 62 69 74 66 69 65 6c 64 20 70 72 69 6d 69 74 69 76 65 20 66 | "FormatBit">bitfield.primitive.f |
| 18a0 | 6f 72 6d 61 74 3c 2f 73 65 65 3e 2e 0d 0a 20 20 20 20 2f 2f 2f 0d 0a 20 20 20 20 2f 2f 2f 20 49 | ormat</see>.......///......///.I |
| 18c0 | 6e 70 75 74 20 73 74 61 74 65 20 6d 65 6d 6f 72 79 20 69 73 20 72 65 73 74 72 69 63 74 65 64 20 | nput.state.memory.is.restricted. |
| 18e0 | 74 6f 20 61 20 6d 61 78 69 6d 75 6d 20 6f 66 20 34 47 42 20 69 6e 20 73 69 7a 65 2e 20 4f 66 66 | to.a.maximum.of.4GB.in.size..Off |
| 1900 | 73 65 74 73 20 61 72 65 20 72 65 63 6f 72 64 65 64 20 69 6e 20 33 32 20 62 69 74 73 2e 0d 0a 20 | sets.are.recorded.in.32.bits.... |
| 1920 | 20 20 20 2f 2f 2f 20 3c 2f 72 65 6d 61 72 6b 73 3e 0d 0a 20 20 20 20 2f 2f 2f 20 3c 73 65 65 61 | ...///.</remarks>......///.<seea |
| 1940 | 6c 73 6f 20 63 72 65 66 3d 22 49 6e 70 75 74 43 6f 6e 74 72 6f 6c 2e 73 74 61 74 65 42 6c 6f 63 | lso.cref="InputControl.stateBloc |
| 1960 | 6b 22 2f 3e 0d 0a 20 20 20 20 70 75 62 6c 69 63 20 75 6e 73 61 66 65 20 73 74 72 75 63 74 20 49 | k"/>......public.unsafe.struct.I |
| 1980 | 6e 70 75 74 53 74 61 74 65 42 6c 6f 63 6b 0d 0a 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 70 | nputStateBlock......{..........p |
| 19a0 | 75 62 6c 69 63 20 63 6f 6e 73 74 20 75 69 6e 74 20 49 6e 76 61 6c 69 64 4f 66 66 73 65 74 20 3d | ublic.const.uint.InvalidOffset.= |
| 19c0 | 20 30 78 66 66 66 66 66 66 66 66 3b 0d 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 63 6f 6e | .0xffffffff;..........public.con |
| 19e0 | 73 74 20 75 69 6e 74 20 41 75 74 6f 6d 61 74 69 63 4f 66 66 73 65 74 20 3d 20 30 78 66 66 66 66 | st.uint.AutomaticOffset.=.0xffff |
| 1a00 | 66 66 66 65 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0d 0a | fffe;............///.<summary>.. |
| 1a20 | 20 20 20 20 20 20 20 20 2f 2f 2f 20 46 6f 72 6d 61 74 20 63 6f 64 65 20 66 6f 72 20 61 20 76 61 | ........///.Format.code.for.a.va |
| 1a40 | 72 69 61 62 6c 65 2d 77 69 64 74 68 20 62 69 74 66 69 65 6c 64 20 72 65 70 72 65 73 65 6e 74 69 | riable-width.bitfield.representi |
| 1a60 | 6e 67 20 61 6e 20 75 6e 73 69 67 6e 65 64 20 76 61 6c 75 65 2c 0d 0a 20 20 20 20 20 20 20 20 2f | ng.an.unsigned.value,........../ |
| 1a80 | 2f 2f 20 69 2e 65 2e 20 61 6c 6c 20 62 69 74 73 20 69 6e 63 6c 75 64 69 6e 67 20 74 68 65 20 68 | //.i.e..all.bits.including.the.h |
| 1aa0 | 69 67 68 65 73 74 20 6f 6e 65 20 72 65 70 72 65 73 65 6e 74 20 74 68 65 20 6d 61 67 6e 69 74 75 | ighest.one.represent.the.magnitu |
| 1ac0 | 64 65 20 6f 66 20 74 68 65 20 76 61 6c 75 65 2e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f | de.of.the.value...........///.</ |
| 1ae0 | 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 65 65 61 6c 73 6f 20 63 | summary>..........///.<seealso.c |
| 1b00 | 72 65 66 3d 22 66 6f 72 6d 61 74 22 2f 3e 0d 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 73 | ref="format"/>..........public.s |
| 1b20 | 74 61 74 69 63 20 72 65 61 64 6f 6e 6c 79 20 46 6f 75 72 43 43 20 46 6f 72 6d 61 74 42 69 74 20 | tatic.readonly.FourCC.FormatBit. |
| 1b40 | 3d 20 6e 65 77 20 46 6f 75 72 43 43 28 27 42 27 2c 20 27 49 27 2c 20 27 54 27 29 3b 0d 0a 0d 0a | =.new.FourCC('B',.'I',.'T');.... |
| 1b60 | 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20 20 20 2f | ........///.<summary>........../ |
| 1b80 | 2f 2f 20 46 6f 72 6d 61 74 20 63 6f 64 65 20 66 6f 72 20 61 20 76 61 72 69 61 62 6c 65 2d 77 69 | //.Format.code.for.a.variable-wi |
| 1ba0 | 64 74 68 20 62 69 74 66 69 65 6c 64 20 72 65 70 72 65 73 65 6e 74 69 6e 67 20 61 20 73 69 67 6e | dth.bitfield.representing.a.sign |
| 1bc0 | 65 64 20 76 61 6c 75 65 2c 20 69 2e 65 2e 20 74 68 65 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 | ed.value,.i.e..the..........///. |
| 1be0 | 68 69 67 68 65 73 74 20 62 69 74 20 69 73 20 75 73 65 64 20 61 73 20 61 20 73 69 67 6e 20 62 69 | highest.bit.is.used.as.a.sign.bi |
| 1c00 | 74 20 28 30 3d 75 6e 73 69 67 6e 65 64 2c 20 31 3d 73 69 67 6e 65 64 29 20 61 6e 64 20 74 68 65 | t.(0=unsigned,.1=signed).and.the |
| 1c20 | 20 72 65 6d 61 69 6e 69 6e 67 20 62 69 74 73 20 72 65 70 72 65 73 65 6e 74 0d 0a 20 20 20 20 20 | .remaining.bits.represent....... |
| 1c40 | 20 20 20 2f 2f 2f 20 74 68 65 20 6d 61 67 6e 69 74 75 64 65 20 6f 66 20 74 68 65 20 76 61 6c 75 | ...///.the.magnitude.of.the.valu |
| 1c60 | 65 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 20 | e...........///.</summary>...... |
| 1c80 | 20 20 20 20 2f 2f 2f 20 3c 73 65 65 61 6c 73 6f 20 63 72 65 66 3d 22 66 6f 72 6d 61 74 22 2f 3e | ....///.<seealso.cref="format"/> |
| 1ca0 | 0d 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 72 65 61 64 6f 6e 6c 79 | ..........public.static.readonly |
| 1cc0 | 20 46 6f 75 72 43 43 20 46 6f 72 6d 61 74 53 42 69 74 20 3d 20 6e 65 77 20 46 6f 75 72 43 43 28 | .FourCC.FormatSBit.=.new.FourCC( |
| 1ce0 | 27 53 27 2c 20 27 42 27 2c 20 27 49 27 2c 20 27 54 27 29 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 | 'S',.'B',.'I',.'T');............ |
| 1d00 | 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 46 6f 72 6d 61 | ///.<summary>..........///.Forma |
| 1d20 | 74 20 63 6f 64 65 20 66 6f 72 20 61 20 33 32 2d 62 69 74 20 73 69 67 6e 65 64 20 69 6e 74 65 67 | t.code.for.a.32-bit.signed.integ |
| 1d40 | 65 72 20 76 61 6c 75 65 2e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79 | er.value...........///.</summary |
| 1d60 | 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 65 65 61 6c 73 6f 20 63 72 65 66 3d 22 66 6f | >..........///.<seealso.cref="fo |
| 1d80 | 72 6d 61 74 22 2f 3e 0d 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 72 | rmat"/>..........public.static.r |
| 1da0 | 65 61 64 6f 6e 6c 79 20 46 6f 75 72 43 43 20 46 6f 72 6d 61 74 49 6e 74 20 3d 20 6e 65 77 20 46 | eadonly.FourCC.FormatInt.=.new.F |
| 1dc0 | 6f 75 72 43 43 28 27 49 27 2c 20 27 4e 27 2c 20 27 54 27 29 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 | ourCC('I',.'N',.'T');........... |
| 1de0 | 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 46 6f 72 6d | .///.<summary>..........///.Form |
| 1e00 | 61 74 20 63 6f 64 65 20 66 6f 72 20 61 20 33 32 2d 62 69 74 20 75 6e 73 69 67 6e 65 64 20 69 6e | at.code.for.a.32-bit.unsigned.in |
| 1e20 | 74 65 67 65 72 20 76 61 6c 75 65 2e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d | teger.value...........///.</summ |
| 1e40 | 61 72 79 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 65 65 61 6c 73 6f 20 63 72 65 66 3d | ary>..........///.<seealso.cref= |
| 1e60 | 22 66 6f 72 6d 61 74 22 2f 3e 0d 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 73 74 61 74 69 | "format"/>..........public.stati |
| 1e80 | 63 20 72 65 61 64 6f 6e 6c 79 20 46 6f 75 72 43 43 20 46 6f 72 6d 61 74 55 49 6e 74 20 3d 20 6e | c.readonly.FourCC.FormatUInt.=.n |
| 1ea0 | 65 77 20 46 6f 75 72 43 43 28 27 55 27 2c 20 27 49 27 2c 20 27 4e 27 2c 20 27 54 27 29 3b 0d 0a | ew.FourCC('U',.'I',.'N',.'T');.. |
| 1ec0 | 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20 20 | ..........///.<summary>......... |
| 1ee0 | 20 2f 2f 2f 20 46 6f 72 6d 61 74 20 63 6f 64 65 20 66 6f 72 20 61 20 31 36 2d 62 69 74 20 73 69 | .///.Format.code.for.a.16-bit.si |
| 1f00 | 67 6e 65 64 20 69 6e 74 65 67 65 72 20 76 61 6c 75 65 2e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f | gned.integer.value.........../// |
| 1f20 | 20 3c 2f 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 65 65 61 6c 73 | .</summary>..........///.<seeals |
| 1f40 | 6f 20 63 72 65 66 3d 22 66 6f 72 6d 61 74 22 2f 3e 0d 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 | o.cref="format"/>..........publi |
| 1f60 | 63 20 73 74 61 74 69 63 20 72 65 61 64 6f 6e 6c 79 20 46 6f 75 72 43 43 20 46 6f 72 6d 61 74 53 | c.static.readonly.FourCC.FormatS |
| 1f80 | 68 6f 72 74 20 3d 20 6e 65 77 20 46 6f 75 72 43 43 28 27 53 27 2c 20 27 48 27 2c 20 27 52 27 2c | hort.=.new.FourCC('S',.'H',.'R', |
| 1fa0 | 20 27 54 27 29 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0d | .'T');............///.<summary>. |
| 1fc0 | 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 46 6f 72 6d 61 74 20 63 6f 64 65 20 66 6f 72 20 61 20 31 | .........///.Format.code.for.a.1 |
| 1fe0 | 36 2d 62 69 74 20 75 6e 73 69 67 6e 65 64 20 69 6e 74 65 67 65 72 20 76 61 6c 75 65 2e 0d 0a 20 | 6-bit.unsigned.integer.value.... |
| 2000 | 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 2f | .......///.</summary>........../ |
| 2020 | 2f 2f 20 3c 73 65 65 61 6c 73 6f 20 63 72 65 66 3d 22 66 6f 72 6d 61 74 22 2f 3e 0d 0a 20 20 20 | //.<seealso.cref="format"/>..... |
| 2040 | 20 20 20 20 20 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 72 65 61 64 6f 6e 6c 79 20 46 6f 75 72 | .....public.static.readonly.Four |
| 2060 | 43 43 20 46 6f 72 6d 61 74 55 53 68 6f 72 74 20 3d 20 6e 65 77 20 46 6f 75 72 43 43 28 27 55 27 | CC.FormatUShort.=.new.FourCC('U' |
| 2080 | 2c 20 27 53 27 2c 20 27 48 27 2c 20 27 54 27 29 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f | ,.'S',.'H',.'T');............/// |
| 20a0 | 20 3c 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 46 6f 72 6d 61 74 20 63 | .<summary>..........///.Format.c |
| 20c0 | 6f 64 65 20 66 6f 72 20 61 6e 20 38 2d 62 69 74 20 75 6e 73 69 67 6e 65 64 20 69 6e 74 65 67 65 | ode.for.an.8-bit.unsigned.intege |
| 20e0 | 72 20 76 61 6c 75 65 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 | r.value...........///.</summary> |
| 2100 | 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 65 65 61 6c 73 6f 20 63 72 65 66 3d 22 66 6f 72 | ..........///.<seealso.cref="for |
| 2120 | 6d 61 74 22 2f 3e 0d 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 72 65 | mat"/>..........public.static.re |
| 2140 | 61 64 6f 6e 6c 79 20 46 6f 75 72 43 43 20 46 6f 72 6d 61 74 42 79 74 65 20 3d 20 6e 65 77 20 46 | adonly.FourCC.FormatByte.=.new.F |
| 2160 | 6f 75 72 43 43 28 27 42 27 2c 20 27 59 27 2c 20 27 54 27 2c 20 27 45 27 29 3b 0d 0a 0d 0a 20 20 | ourCC('B',.'Y',.'T',.'E');...... |
| 2180 | 20 20 20 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f | ......///.<summary>........../// |
| 21a0 | 20 46 6f 72 6d 61 74 20 63 6f 64 65 20 66 6f 72 20 61 6e 20 38 2d 62 69 74 20 73 69 67 6e 65 64 | .Format.code.for.an.8-bit.signed |
| 21c0 | 20 69 6e 74 65 67 65 72 20 76 61 6c 75 65 2e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 | .integer.value...........///.</s |
| 21e0 | 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 65 65 61 6c 73 6f 20 63 72 | ummary>..........///.<seealso.cr |
| 2200 | 65 66 3d 22 66 6f 72 6d 61 74 22 2f 3e 0d 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 73 74 | ef="format"/>..........public.st |
| 2220 | 61 74 69 63 20 72 65 61 64 6f 6e 6c 79 20 46 6f 75 72 43 43 20 46 6f 72 6d 61 74 53 42 79 74 65 | atic.readonly.FourCC.FormatSByte |
| 2240 | 20 3d 20 6e 65 77 20 46 6f 75 72 43 43 28 27 53 27 2c 20 27 42 27 2c 20 27 59 27 2c 20 27 54 27 | .=.new.FourCC('S',.'B',.'Y',.'T' |
| 2260 | 29 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 | );............///.<summary>..... |
| 2280 | 20 20 20 20 20 2f 2f 2f 20 46 6f 72 6d 61 74 20 63 6f 64 65 20 66 6f 72 20 61 20 36 34 2d 62 69 | .....///.Format.code.for.a.64-bi |
| 22a0 | 74 20 73 69 67 6e 65 64 20 69 6e 74 65 67 65 72 20 76 61 6c 75 65 2e 0d 0a 20 20 20 20 20 20 20 | t.signed.integer.value.......... |
| 22c0 | 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 2f 2f 2f 20 3c 73 65 | .///.</summary>..........///.<se |
| 22e0 | 65 61 6c 73 6f 20 63 72 65 66 3d 22 66 6f 72 6d 61 74 22 2f 3e 0d 0a 20 20 20 20 20 20 20 20 70 | ealso.cref="format"/>..........p |
| 2300 | 75 62 6c 69 63 20 73 74 61 74 69 63 20 72 65 61 64 6f 6e 6c 79 20 46 6f 75 72 43 43 20 46 6f 72 | ublic.static.readonly.FourCC.For |
| 2320 | 6d 61 74 4c 6f 6e 67 20 3d 20 6e 65 77 20 46 6f 75 72 43 43 28 27 4c 27 2c 20 27 4e 27 2c 20 27 | matLong.=.new.FourCC('L',.'N',.' |
| 2340 | 47 27 29 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0d 0a 20 | G');............///.<summary>... |
| 2360 | 20 20 20 20 20 20 20 2f 2f 2f 20 46 6f 72 6d 61 74 20 63 6f 64 65 20 66 6f 72 20 61 20 36 34 2d | .......///.Format.code.for.a.64- |
| 2380 | 62 69 74 20 75 6e 73 69 67 6e 65 64 20 69 6e 74 65 67 65 72 20 76 61 6c 75 65 2e 0d 0a 20 20 20 | bit.unsigned.integer.value...... |
| 23a0 | 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 2f 2f 2f | .....///.</summary>........../// |
| 23c0 | 20 3c 73 65 65 61 6c 73 6f 20 63 72 65 66 3d 22 66 6f 72 6d 61 74 22 2f 3e 0d 0a 20 20 20 20 20 | .<seealso.cref="format"/>....... |
| 23e0 | 20 20 20 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 72 65 61 64 6f 6e 6c 79 20 46 6f 75 72 43 43 | ...public.static.readonly.FourCC |
| 2400 | 20 46 6f 72 6d 61 74 55 4c 6f 6e 67 20 3d 20 6e 65 77 20 46 6f 75 72 43 43 28 27 55 27 2c 20 27 | .FormatULong.=.new.FourCC('U',.' |
| 2420 | 4c 27 2c 20 27 4e 27 2c 20 27 47 27 29 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 | L',.'N',.'G');............///.<s |
| 2440 | 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 46 6f 72 6d 61 74 20 63 6f 64 65 | ummary>..........///.Format.code |
| 2460 | 20 66 6f 72 20 61 20 33 32 2d 62 69 74 20 66 6c 6f 61 74 69 6e 67 2d 70 6f 69 6e 74 20 76 61 6c | .for.a.32-bit.floating-point.val |
| 2480 | 75 65 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 | ue...........///.</summary>..... |
| 24a0 | 20 20 20 20 20 2f 2f 2f 20 3c 73 65 65 61 6c 73 6f 20 63 72 65 66 3d 22 66 6f 72 6d 61 74 22 2f | .....///.<seealso.cref="format"/ |
| 24c0 | 3e 0d 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 72 65 61 64 6f 6e 6c | >..........public.static.readonl |
| 24e0 | 79 20 46 6f 75 72 43 43 20 46 6f 72 6d 61 74 46 6c 6f 61 74 20 3d 20 6e 65 77 20 46 6f 75 72 43 | y.FourCC.FormatFloat.=.new.FourC |
| 2500 | 43 28 27 46 27 2c 20 27 4c 27 2c 20 27 54 27 29 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f | C('F',.'L',.'T');............/// |
| 2520 | 20 3c 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 46 6f 72 6d 61 74 20 63 | .<summary>..........///.Format.c |
| 2540 | 6f 64 65 20 66 6f 72 20 61 20 36 34 2d 62 69 74 20 66 6c 6f 61 74 69 6e 67 2d 70 6f 69 6e 74 20 | ode.for.a.64-bit.floating-point. |
| 2560 | 76 61 6c 75 65 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 | value...........///.</summary>.. |
| 2580 | 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 65 65 61 6c 73 6f 20 63 72 65 66 3d 22 66 6f 72 6d 61 | ........///.<seealso.cref="forma |
| 25a0 | 74 22 2f 3e 0d 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 72 65 61 64 | t"/>..........public.static.read |
| 25c0 | 6f 6e 6c 79 20 46 6f 75 72 43 43 20 46 6f 72 6d 61 74 44 6f 75 62 6c 65 20 3d 20 6e 65 77 20 46 | only.FourCC.FormatDouble.=.new.F |
| 25e0 | 6f 75 72 43 43 28 27 44 27 2c 20 27 42 27 2c 20 27 4c 27 29 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 | ourCC('D',.'B',.'L');........... |
| 2600 | 20 2f 2f 2f 2f 52 45 56 49 45 57 3a 20 61 72 65 20 74 68 65 73 65 20 72 65 61 6c 6c 79 20 75 73 | .////REVIEW:.are.these.really.us |
| 2620 | 65 66 75 6c 3f 0d 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 72 65 61 | eful?..........public.static.rea |
| 2640 | 64 6f 6e 6c 79 20 46 6f 75 72 43 43 20 46 6f 72 6d 61 74 56 65 63 74 6f 72 32 20 3d 20 6e 65 77 | donly.FourCC.FormatVector2.=.new |
| 2660 | 20 46 6f 75 72 43 43 28 27 56 27 2c 20 27 45 27 2c 20 27 43 27 2c 20 27 32 27 29 3b 0d 0a 20 20 | .FourCC('V',.'E',.'C',.'2');.... |
| 2680 | 20 20 20 20 20 20 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 72 65 61 64 6f 6e 6c 79 20 46 6f 75 | ......public.static.readonly.Fou |
| 26a0 | 72 43 43 20 46 6f 72 6d 61 74 56 65 63 74 6f 72 33 20 3d 20 6e 65 77 20 46 6f 75 72 43 43 28 27 | rCC.FormatVector3.=.new.FourCC(' |
| 26c0 | 56 27 2c 20 27 45 27 2c 20 27 43 27 2c 20 27 33 27 29 3b 0d 0a 20 20 20 20 20 20 20 20 70 75 62 | V',.'E',.'C',.'3');..........pub |
| 26e0 | 6c 69 63 20 73 74 61 74 69 63 20 72 65 61 64 6f 6e 6c 79 20 46 6f 75 72 43 43 20 46 6f 72 6d 61 | lic.static.readonly.FourCC.Forma |
| 2700 | 74 51 75 61 74 65 72 6e 69 6f 6e 20 3d 20 6e 65 77 20 46 6f 75 72 43 43 28 27 51 27 2c 20 27 55 | tQuaternion.=.new.FourCC('Q',.'U |
| 2720 | 27 2c 20 27 41 27 2c 20 27 54 27 29 3b 0d 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 73 74 | ',.'A',.'T');..........public.st |
| 2740 | 61 74 69 63 20 72 65 61 64 6f 6e 6c 79 20 46 6f 75 72 43 43 20 46 6f 72 6d 61 74 56 65 63 74 6f | atic.readonly.FourCC.FormatVecto |
| 2760 | 72 32 53 68 6f 72 74 20 3d 20 6e 65 77 20 46 6f 75 72 43 43 28 27 56 27 2c 20 27 43 27 2c 20 27 | r2Short.=.new.FourCC('V',.'C',.' |
| 2780 | 32 27 2c 20 27 53 27 29 3b 0d 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 73 74 61 74 69 63 | 2',.'S');..........public.static |
| 27a0 | 20 72 65 61 64 6f 6e 6c 79 20 46 6f 75 72 43 43 20 46 6f 72 6d 61 74 56 65 63 74 6f 72 33 53 68 | .readonly.FourCC.FormatVector3Sh |
| 27c0 | 6f 72 74 20 3d 20 6e 65 77 20 46 6f 75 72 43 43 28 27 56 27 2c 20 27 43 27 2c 20 27 33 27 2c 20 | ort.=.new.FourCC('V',.'C',.'3',. |
| 27e0 | 27 53 27 29 3b 0d 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 72 65 61 | 'S');..........public.static.rea |
| 2800 | 64 6f 6e 6c 79 20 46 6f 75 72 43 43 20 46 6f 72 6d 61 74 56 65 63 74 6f 72 32 42 79 74 65 20 3d | donly.FourCC.FormatVector2Byte.= |
| 2820 | 20 6e 65 77 20 46 6f 75 72 43 43 28 27 56 27 2c 20 27 43 27 2c 20 27 32 27 2c 20 27 42 27 29 3b | .new.FourCC('V',.'C',.'2',.'B'); |
| 2840 | 0d 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 72 65 61 64 6f 6e 6c 79 | ..........public.static.readonly |
| 2860 | 20 46 6f 75 72 43 43 20 46 6f 72 6d 61 74 56 65 63 74 6f 72 33 42 79 74 65 20 3d 20 6e 65 77 20 | .FourCC.FormatVector3Byte.=.new. |
| 2880 | 46 6f 75 72 43 43 28 27 56 27 2c 20 27 43 27 2c 20 27 33 27 2c 20 27 42 27 29 3b 0d 0a 0d 0a 20 | FourCC('V',.'C',.'3',.'B');..... |
| 28a0 | 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 69 6e 74 20 47 65 74 53 69 7a 65 | .......public.static.int.GetSize |
| 28c0 | 4f 66 50 72 69 6d 69 74 69 76 65 46 6f 72 6d 61 74 49 6e 42 69 74 73 28 46 6f 75 72 43 43 20 74 | OfPrimitiveFormatInBits(FourCC.t |
| 28e0 | 79 70 65 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 | ype)..........{..............if. |
| 2900 | 28 74 79 70 65 20 3d 3d 20 46 6f 72 6d 61 74 42 69 74 20 7c 7c 20 74 79 70 65 20 3d 3d 20 46 6f | (type.==.FormatBit.||.type.==.Fo |
| 2920 | 72 6d 61 74 53 42 69 74 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 | rmatSBit)..................retur |
| 2940 | 6e 20 31 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 74 79 70 65 20 3d 3d 20 46 6f | n.1;..............if.(type.==.Fo |
| 2960 | 72 6d 61 74 49 6e 74 20 7c 7c 20 74 79 70 65 20 3d 3d 20 46 6f 72 6d 61 74 55 49 6e 74 29 0d 0a | rmatInt.||.type.==.FormatUInt).. |
| 2980 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 34 20 2a 20 38 3b 0d 0a 20 | ................return.4.*.8;... |
| 29a0 | 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 74 79 70 65 20 3d 3d 20 46 6f 72 6d 61 74 53 68 6f | ...........if.(type.==.FormatSho |
| 29c0 | 72 74 20 7c 7c 20 74 79 70 65 20 3d 3d 20 46 6f 72 6d 61 74 55 53 68 6f 72 74 29 0d 0a 20 20 20 | rt.||.type.==.FormatUShort)..... |
| 29e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 32 20 2a 20 38 3b 0d 0a 20 20 20 20 | .............return.2.*.8;...... |
| 2a00 | 20 20 20 20 20 20 20 20 69 66 20 28 74 79 70 65 20 3d 3d 20 46 6f 72 6d 61 74 42 79 74 65 20 7c | ........if.(type.==.FormatByte.| |
| 2a20 | 7c 20 74 79 70 65 20 3d 3d 20 46 6f 72 6d 61 74 53 42 79 74 65 29 0d 0a 20 20 20 20 20 20 20 20 | |.type.==.FormatSByte).......... |
| 2a40 | 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 31 20 2a 20 38 3b 0d 0a 20 20 20 20 20 20 20 20 20 | ........return.1.*.8;........... |
| 2a60 | 20 20 20 69 66 20 28 74 79 70 65 20 3d 3d 20 46 6f 72 6d 61 74 46 6c 6f 61 74 29 0d 0a 20 20 20 | ...if.(type.==.FormatFloat)..... |
| 2a80 | 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 34 20 2a 20 38 3b 0d 0a 20 20 20 20 | .............return.4.*.8;...... |
| 2aa0 | 20 20 20 20 20 20 20 20 69 66 20 28 74 79 70 65 20 3d 3d 20 46 6f 72 6d 61 74 44 6f 75 62 6c 65 | ........if.(type.==.FormatDouble |
| 2ac0 | 29 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 38 20 2a 20 38 3b | )..................return.8.*.8; |
| 2ae0 | 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 74 79 70 65 20 3d 3d 20 46 6f 72 6d 61 74 | ..............if.(type.==.Format |
| 2b00 | 4c 6f 6e 67 20 7c 7c 20 74 79 70 65 20 3d 3d 20 46 6f 72 6d 61 74 55 4c 6f 6e 67 29 0d 0a 20 20 | Long.||.type.==.FormatULong).... |
| 2b20 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 38 20 2a 20 38 3b 0d 0a 20 20 20 | ..............return.8.*.8;..... |
| 2b40 | 20 20 20 20 20 20 20 20 20 69 66 20 28 74 79 70 65 20 3d 3d 20 46 6f 72 6d 61 74 56 65 63 74 6f | .........if.(type.==.FormatVecto |
| 2b60 | 72 32 29 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 32 20 2a 20 | r2)..................return.2.*. |
| 2b80 | 34 20 2a 20 38 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 74 79 70 65 20 3d 3d 20 | 4.*.8;..............if.(type.==. |
| 2ba0 | 46 6f 72 6d 61 74 56 65 63 74 6f 72 33 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | FormatVector3).................. |
| 2bc0 | 72 65 74 75 72 6e 20 33 20 2a 20 34 20 2a 20 38 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 | return.3.*.4.*.8;..............i |
| 2be0 | 66 20 28 74 79 70 65 20 3d 3d 20 46 6f 72 6d 61 74 51 75 61 74 65 72 6e 69 6f 6e 29 0d 0a 20 20 | f.(type.==.FormatQuaternion).... |
| 2c00 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 34 20 2a 20 34 20 2a 20 38 3b 0d | ..............return.4.*.4.*.8;. |
| 2c20 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 74 79 70 65 20 3d 3d 20 46 6f 72 6d 61 74 56 | .............if.(type.==.FormatV |
| 2c40 | 65 63 74 6f 72 32 53 68 6f 72 74 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 | ector2Short)..................re |
| 2c60 | 74 75 72 6e 20 32 20 2a 20 32 20 2a 20 38 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 | turn.2.*.2.*.8;..............if. |
| 2c80 | 28 74 79 70 65 20 3d 3d 20 46 6f 72 6d 61 74 56 65 63 74 6f 72 33 53 68 6f 72 74 29 0d 0a 20 20 | (type.==.FormatVector3Short).... |
| 2ca0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 33 20 2a 20 32 20 2a 20 38 3b 0d | ..............return.3.*.2.*.8;. |
| 2cc0 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 74 79 70 65 20 3d 3d 20 46 6f 72 6d 61 74 56 | .............if.(type.==.FormatV |
| 2ce0 | 65 63 74 6f 72 32 42 79 74 65 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 | ector2Byte)..................ret |
| 2d00 | 75 72 6e 20 32 20 2a 20 31 20 2a 20 38 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 | urn.2.*.1.*.8;..............if.( |
| 2d20 | 74 79 70 65 20 3d 3d 20 46 6f 72 6d 61 74 56 65 63 74 6f 72 33 42 79 74 65 29 0d 0a 20 20 20 20 | type.==.FormatVector3Byte)...... |
| 2d40 | 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 33 20 2a 20 31 20 2a 20 38 3b 0d 0a 20 | ............return.3.*.1.*.8;... |
| 2d60 | 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 2d 31 3b 0d 0a 20 20 20 20 20 20 20 20 7d | ...........return.-1;..........} |
| 2d80 | 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 46 6f 75 72 43 43 | ............public.static.FourCC |
| 2da0 | 20 47 65 74 50 72 69 6d 69 74 69 76 65 46 6f 72 6d 61 74 46 72 6f 6d 54 79 70 65 28 54 79 70 65 | .GetPrimitiveFormatFromType(Type |
| 2dc0 | 20 74 79 70 65 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 | .type)..........{..............i |
| 2de0 | 66 20 28 52 65 66 65 72 65 6e 63 65 45 71 75 61 6c 73 28 74 79 70 65 2c 20 74 79 70 65 6f 66 28 | f.(ReferenceEquals(type,.typeof( |
| 2e00 | 69 6e 74 29 29 29 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 46 | int)))..................return.F |
| 2e20 | 6f 72 6d 61 74 49 6e 74 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 52 65 66 65 72 | ormatInt;..............if.(Refer |
| 2e40 | 65 6e 63 65 45 71 75 61 6c 73 28 74 79 70 65 2c 20 74 79 70 65 6f 66 28 75 69 6e 74 29 29 29 0d | enceEquals(type,.typeof(uint))). |
| 2e60 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 46 6f 72 6d 61 74 55 49 | .................return.FormatUI |
| 2e80 | 6e 74 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 52 65 66 65 72 65 6e 63 65 45 71 | nt;..............if.(ReferenceEq |
| 2ea0 | 75 61 6c 73 28 74 79 70 65 2c 20 74 79 70 65 6f 66 28 73 68 6f 72 74 29 29 29 0d 0a 20 20 20 20 | uals(type,.typeof(short)))...... |
| 2ec0 | 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 46 6f 72 6d 61 74 53 68 6f 72 74 3b 0d | ............return.FormatShort;. |
| 2ee0 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 52 65 66 65 72 65 6e 63 65 45 71 75 61 6c 73 | .............if.(ReferenceEquals |
| 2f00 | 28 74 79 70 65 2c 20 74 79 70 65 6f 66 28 75 73 68 6f 72 74 29 29 29 0d 0a 20 20 20 20 20 20 20 | (type,.typeof(ushort)))......... |
| 2f20 | 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 46 6f 72 6d 61 74 55 53 68 6f 72 74 3b 0d 0a 20 | .........return.FormatUShort;... |
| 2f40 | 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 52 65 66 65 72 65 6e 63 65 45 71 75 61 6c 73 28 74 | ...........if.(ReferenceEquals(t |
| 2f60 | 79 70 65 2c 20 74 79 70 65 6f 66 28 62 79 74 65 29 29 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 | ype,.typeof(byte)))............. |
| 2f80 | 20 20 20 20 20 72 65 74 75 72 6e 20 46 6f 72 6d 61 74 42 79 74 65 3b 0d 0a 20 20 20 20 20 20 20 | .....return.FormatByte;......... |
| 2fa0 | 20 20 20 20 20 69 66 20 28 52 65 66 65 72 65 6e 63 65 45 71 75 61 6c 73 28 74 79 70 65 2c 20 74 | .....if.(ReferenceEquals(type,.t |
| 2fc0 | 79 70 65 6f 66 28 73 62 79 74 65 29 29 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ypeof(sbyte))).................. |
| 2fe0 | 72 65 74 75 72 6e 20 46 6f 72 6d 61 74 53 42 79 74 65 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 | return.FormatSByte;............. |
| 3000 | 20 69 66 20 28 52 65 66 65 72 65 6e 63 65 45 71 75 61 6c 73 28 74 79 70 65 2c 20 74 79 70 65 6f | .if.(ReferenceEquals(type,.typeo |
| 3020 | 66 28 66 6c 6f 61 74 29 29 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 | f(float)))..................retu |
| 3040 | 72 6e 20 46 6f 72 6d 61 74 46 6c 6f 61 74 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 | rn.FormatFloat;..............if. |
| 3060 | 28 52 65 66 65 72 65 6e 63 65 45 71 75 61 6c 73 28 74 79 70 65 2c 20 74 79 70 65 6f 66 28 64 6f | (ReferenceEquals(type,.typeof(do |
| 3080 | 75 62 6c 65 29 29 29 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 | uble)))..................return. |
| 30a0 | 46 6f 72 6d 61 74 44 6f 75 62 6c 65 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 52 | FormatDouble;..............if.(R |
| 30c0 | 65 66 65 72 65 6e 63 65 45 71 75 61 6c 73 28 74 79 70 65 2c 20 74 79 70 65 6f 66 28 6c 6f 6e 67 | eferenceEquals(type,.typeof(long |
| 30e0 | 29 29 29 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 46 6f 72 6d | )))..................return.Form |
| 3100 | 61 74 4c 6f 6e 67 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 52 65 66 65 72 65 6e | atLong;..............if.(Referen |
| 3120 | 63 65 45 71 75 61 6c 73 28 74 79 70 65 2c 20 74 79 70 65 6f 66 28 75 6c 6f 6e 67 29 29 29 0d 0a | ceEquals(type,.typeof(ulong))).. |
| 3140 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 46 6f 72 6d 61 74 55 4c 6f | ................return.FormatULo |
| 3160 | 6e 67 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 52 65 66 65 72 65 6e 63 65 45 71 | ng;..............if.(ReferenceEq |
| 3180 | 75 61 6c 73 28 74 79 70 65 2c 20 74 79 70 65 6f 66 28 56 65 63 74 6f 72 32 29 29 29 0d 0a 20 20 | uals(type,.typeof(Vector2))).... |
| 31a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 46 6f 72 6d 61 74 56 65 63 74 6f | ..............return.FormatVecto |
| 31c0 | 72 32 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 52 65 66 65 72 65 6e 63 65 45 71 | r2;..............if.(ReferenceEq |
| 31e0 | 75 61 6c 73 28 74 79 70 65 2c 20 74 79 70 65 6f 66 28 56 65 63 74 6f 72 33 29 29 29 0d 0a 20 20 | uals(type,.typeof(Vector3))).... |
| 3200 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 46 6f 72 6d 61 74 56 65 63 74 6f | ..............return.FormatVecto |
| 3220 | 72 33 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 52 65 66 65 72 65 6e 63 65 45 71 | r3;..............if.(ReferenceEq |
| 3240 | 75 61 6c 73 28 74 79 70 65 2c 20 74 79 70 65 6f 66 28 51 75 61 74 65 72 6e 69 6f 6e 29 29 29 0d | uals(type,.typeof(Quaternion))). |
| 3260 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 46 6f 72 6d 61 74 51 75 | .................return.FormatQu |
| 3280 | 61 74 65 72 6e 69 6f 6e 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6e 65 | aternion;..............return.ne |
| 32a0 | 77 20 46 6f 75 72 43 43 28 29 3b 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 | w.FourCC();..........}.......... |
| 32c0 | 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 54 79 70 | ..///.<summary>..........///.Typ |
| 32e0 | 65 20 69 64 65 6e 74 69 66 69 65 72 20 66 6f 72 20 74 68 65 20 6d 65 6d 6f 72 79 20 6c 61 79 6f | e.identifier.for.the.memory.layo |
| 3300 | 75 74 20 75 73 65 64 20 62 79 20 74 68 65 20 73 74 61 74 65 2e 0d 0a 20 20 20 20 20 20 20 20 2f | ut.used.by.the.state.........../ |
| 3320 | 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 72 65 6d 61 | //.</summary>..........///.<rema |
| 3340 | 72 6b 73 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 55 73 65 64 20 66 6f 72 20 73 61 66 65 74 | rks>..........///.Used.for.safet |
| 3360 | 79 20 63 68 65 63 6b 73 20 74 6f 20 6d 61 6b 65 20 73 75 72 65 20 74 68 61 74 20 77 68 65 6e 20 | y.checks.to.make.sure.that.when. |
| 3380 | 74 68 65 20 73 79 73 74 65 6d 20 63 6f 70 69 65 73 20 73 74 61 74 65 20 6d 65 6d 6f 72 79 2c 20 | the.system.copies.state.memory,. |
| 33a0 | 69 74 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 63 6f 70 69 65 73 20 62 65 74 77 65 65 6e 20 63 | it..........///.copies.between.c |
| 33c0 | 6f 6d 70 61 74 69 62 6c 65 20 6c 61 79 6f 75 74 73 2e 20 49 66 20 73 65 74 20 74 6f 20 61 20 70 | ompatible.layouts..If.set.to.a.p |
| 33e0 | 72 69 6d 69 74 69 76 65 20 73 74 61 74 65 20 66 6f 72 6d 61 74 2c 20 61 6c 73 6f 20 75 73 65 64 | rimitive.state.format,.also.used |
| 3400 | 20 74 6f 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 64 65 74 65 72 6d 69 6e 65 20 74 68 65 20 73 | .to..........///.determine.the.s |
| 3420 | 69 7a 65 20 6f 66 20 74 68 65 20 73 74 61 74 65 20 62 6c 6f 63 6b 2e 0d 0a 20 20 20 20 20 20 20 | ize.of.the.state.block.......... |
| 3440 | 20 2f 2f 2f 20 3c 2f 72 65 6d 61 72 6b 73 3e 0d 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 | .///.</remarks>..........public. |
| 3460 | 46 6f 75 72 43 43 20 66 6f 72 6d 61 74 20 7b 20 67 65 74 3b 20 73 65 74 3b 20 7d 0d 0a 0d 0a 20 | FourCC.format.{.get;.set;.}..... |
| 3480 | 20 20 20 20 20 20 20 2f 2f 20 4f 66 66 73 65 74 20 69 6e 74 6f 20 73 74 61 74 65 20 62 75 66 66 | .......//.Offset.into.state.buff |
| 34a0 | 65 72 2e 20 41 66 74 65 72 20 61 20 64 65 76 69 63 65 20 69 73 20 61 64 64 65 64 20 74 6f 20 74 | er..After.a.device.is.added.to.t |
| 34c0 | 68 65 20 73 79 73 74 65 6d 2c 20 74 68 69 73 20 69 73 20 72 65 6c 61 74 69 76 65 0d 0a 20 20 20 | he.system,.this.is.relative..... |
| 34e0 | 20 20 20 20 20 2f 2f 20 74 6f 20 74 68 65 20 67 6c 6f 62 61 6c 20 62 75 66 66 65 72 73 3b 20 6f | .....//.to.the.global.buffers;.o |
| 3500 | 74 68 65 72 77 69 73 65 20 69 74 20 69 73 20 72 65 6c 61 74 69 76 65 20 74 6f 20 74 68 65 20 64 | therwise.it.is.relative.to.the.d |
| 3520 | 65 76 69 63 65 20 72 6f 6f 74 2e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 20 44 75 72 69 6e 67 20 73 | evice.root...........//.During.s |
| 3540 | 65 74 75 70 2c 20 74 68 69 73 20 63 61 6e 20 62 65 20 49 6e 76 61 6c 69 64 4f 66 66 73 65 74 20 | etup,.this.can.be.InvalidOffset. |
| 3560 | 74 6f 20 69 6e 64 69 63 61 74 65 20 61 20 63 6f 6e 74 72 6f 6c 20 74 68 61 74 20 73 68 6f 75 6c | to.indicate.a.control.that.shoul |
| 3580 | 64 20 62 65 20 70 6c 61 63 65 64 0d 0a 20 20 20 20 20 20 20 20 2f 2f 20 61 74 20 61 6e 20 6f 66 | d.be.placed..........//.at.an.of |
| 35a0 | 66 73 65 74 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 3b 20 6f 74 68 65 72 77 69 73 65 20 69 74 | fset.automatically;.otherwise.it |
| 35c0 | 20 64 65 6e 6f 74 65 73 20 61 20 66 69 78 65 64 20 6f 66 66 73 65 74 20 72 65 6c 61 74 69 76 65 | .denotes.a.fixed.offset.relative |
| 35e0 | 20 74 6f 20 74 68 65 0d 0a 20 20 20 20 20 20 20 20 2f 2f 20 70 61 72 65 6e 74 20 63 6f 6e 74 72 | .to.the..........//.parent.contr |
| 3600 | 6f 6c 2e 0d 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 75 69 6e 74 20 62 79 74 65 4f 66 66 | ol...........public.uint.byteOff |
| 3620 | 73 65 74 20 7b 20 67 65 74 3b 20 73 65 74 3b 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 2f 2f 20 | set.{.get;.set;.}............//. |
| 3640 | 42 69 74 20 6f 66 66 73 65 74 20 66 72 6f 6d 20 74 68 65 20 67 69 76 65 6e 20 62 79 74 65 20 6f | Bit.offset.from.the.given.byte.o |
| 3660 | 66 66 73 65 74 2e 20 41 6c 73 6f 20 7a 65 72 6f 2d 62 61 73 65 64 20 28 69 2e 65 2e 20 66 69 72 | ffset..Also.zero-based.(i.e..fir |
| 3680 | 73 74 20 62 69 74 20 69 73 20 61 74 20 62 69 74 0d 0a 20 20 20 20 20 20 20 20 2f 2f 20 6f 66 66 | st.bit.is.at.bit..........//.off |
| 36a0 | 73 65 74 20 23 30 29 2e 0d 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 75 69 6e 74 20 62 69 | set.#0)...........public.uint.bi |
| 36c0 | 74 4f 66 66 73 65 74 20 7b 20 67 65 74 3b 20 73 65 74 3b 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 | tOffset.{.get;.set;.}........... |
| 36e0 | 20 2f 2f 20 53 69 7a 65 20 6f 66 20 74 68 65 20 73 74 61 74 65 20 69 6e 20 62 69 74 73 2e 20 49 | .//.Size.of.the.state.in.bits..I |
| 3700 | 66 20 74 68 69 73 20 25 20 38 20 69 73 20 6e 6f 74 20 30 2c 20 74 68 65 20 63 6f 6e 74 72 6f 6c | f.this.%.8.is.not.0,.the.control |
| 3720 | 20 69 73 20 63 6f 6e 73 69 64 65 72 65 64 20 61 0d 0a 20 20 20 20 20 20 20 20 2f 2f 20 62 69 74 | .is.considered.a..........//.bit |
| 3740 | 66 69 65 6c 64 20 63 6f 6e 74 72 6f 6c 2e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 20 44 75 72 69 6e | field.control...........//.Durin |
| 3760 | 67 20 73 65 74 75 70 2c 20 69 66 20 74 68 69 73 20 66 69 65 6c 64 20 69 73 20 30 20 69 74 20 6d | g.setup,.if.this.field.is.0.it.m |
| 3780 | 65 61 6e 73 20 74 68 65 20 73 69 7a 65 20 6f 66 20 74 68 65 20 63 6f 6e 74 72 6f 6c 20 73 68 6f | eans.the.size.of.the.control.sho |
| 37a0 | 75 6c 64 20 62 65 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 0d 0a 20 20 20 20 20 20 20 20 2f 2f | uld.be.automatically..........// |
| 37c0 | 20 63 6f 6d 70 75 74 65 64 20 66 72 6f 6d 20 65 69 74 68 65 72 20 69 74 73 20 63 68 69 6c 64 72 | .computed.from.either.its.childr |
| 37e0 | 65 6e 20 28 69 66 20 69 74 20 68 61 73 20 61 6e 79 29 20 6f 72 20 69 74 73 20 73 65 74 20 66 6f | en.(if.it.has.any).or.its.set.fo |
| 3800 | 72 6d 61 74 2e 20 49 66 20 69 74 20 68 61 73 20 6e 65 69 74 68 65 72 2c 0d 0a 20 20 20 20 20 20 | rmat..If.it.has.neither,........ |
| 3820 | 20 20 2f 2f 20 73 65 74 75 70 20 77 69 6c 6c 20 74 68 72 6f 77 2e 0d 0a 20 20 20 20 20 20 20 20 | ..//.setup.will.throw........... |
| 3840 | 70 75 62 6c 69 63 20 75 69 6e 74 20 73 69 7a 65 49 6e 42 69 74 73 20 7b 20 67 65 74 3b 20 73 65 | public.uint.sizeInBits.{.get;.se |
| 3860 | 74 3b 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 69 6e 74 65 72 6e 61 6c 20 75 69 6e 74 20 61 6c | t;.}............internal.uint.al |
| 3880 | 69 67 6e 65 64 53 69 7a 65 49 6e 42 79 74 65 73 20 3d 3e 20 28 73 69 7a 65 49 6e 42 69 74 73 20 | ignedSizeInBytes.=>.(sizeInBits. |
| 38a0 | 2b 20 37 29 20 3e 3e 20 33 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 69 6e 74 | +.7).>>.3;............public.int |
| 38c0 | 20 52 65 61 64 49 6e 74 28 76 6f 69 64 2a 20 73 74 61 74 65 50 74 72 29 0d 0a 20 20 20 20 20 20 | .ReadInt(void*.statePtr)........ |
| 38e0 | 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 44 65 62 75 67 2e 41 73 73 65 72 74 28 73 69 | ..{..............Debug.Assert(si |
| 3900 | 7a 65 49 6e 42 69 74 73 20 21 3d 20 30 29 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 | zeInBits.!=.0);................v |
| 3920 | 61 72 20 76 61 6c 75 65 50 74 72 20 3d 20 28 62 79 74 65 2a 29 73 74 61 74 65 50 74 72 20 2b 20 | ar.valuePtr.=.(byte*)statePtr.+. |
| 3940 | 28 69 6e 74 29 62 79 74 65 4f 66 66 73 65 74 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 | (int)byteOffset;................ |
| 3960 | 69 6e 74 20 76 61 6c 75 65 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 66 6f 72 6d | int.value;..............if.(form |
| 3980 | 61 74 20 3d 3d 20 46 6f 72 6d 61 74 49 6e 74 20 7c 7c 20 66 6f 72 6d 61 74 20 3d 3d 20 46 6f 72 | at.==.FormatInt.||.format.==.For |
| 39a0 | 6d 61 74 55 49 6e 74 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 | matUInt)..............{......... |
| 39c0 | 20 20 20 20 20 20 20 20 20 44 65 62 75 67 2e 41 73 73 65 72 74 28 73 69 7a 65 49 6e 42 69 74 73 | .........Debug.Assert(sizeInBits |
| 39e0 | 20 3d 3d 20 33 32 2c 20 22 49 4e 54 20 61 6e 64 20 55 49 4e 54 20 73 74 61 74 65 20 6d 75 73 74 | .==.32,."INT.and.UINT.state.must |
| 3a00 | 20 68 61 76 65 20 73 69 7a 65 49 6e 42 69 74 73 3d 33 32 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 | .have.sizeInBits=32");.......... |
| 3a20 | 20 20 20 20 20 20 20 20 44 65 62 75 67 2e 41 73 73 65 72 74 28 62 69 74 4f 66 66 73 65 74 20 3d | ........Debug.Assert(bitOffset.= |
| 3a40 | 3d 20 30 2c 20 22 49 4e 54 20 61 6e 64 20 55 49 4e 54 20 73 74 61 74 65 20 6d 75 73 74 20 62 65 | =.0,."INT.and.UINT.state.must.be |
| 3a60 | 20 62 79 74 65 2d 61 6c 69 67 6e 65 64 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .byte-aligned");................ |
| 3a80 | 20 20 76 61 6c 75 65 20 3d 20 2a 28 69 6e 74 2a 29 76 61 6c 75 65 50 74 72 3b 0d 0a 20 20 20 20 | ..value.=.*(int*)valuePtr;...... |
| 3aa0 | 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 28 | ........}..............else.if.( |
| 3ac0 | 66 6f 72 6d 61 74 20 3d 3d 20 46 6f 72 6d 61 74 42 69 74 29 0d 0a 20 20 20 20 20 20 20 20 20 20 | format.==.FormatBit)............ |
| 3ae0 | 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 73 69 7a 65 49 6e 42 | ..{..................if.(sizeInB |
| 3b00 | 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 20 20 20 20 76 | its.==.1)......................v |
| 3b20 | 61 6c 75 65 20 3d 20 4d 65 6d 6f 72 79 48 65 6c 70 65 72 73 2e 52 65 61 64 53 69 6e 67 6c 65 42 | alue.=.MemoryHelpers.ReadSingleB |
| 3b40 | 69 74 28 76 61 6c 75 65 50 74 72 2c 20 62 69 74 4f 66 66 73 65 74 29 20 3f 20 31 20 3a 20 30 3b | it(valuePtr,.bitOffset).?.1.:.0; |
| 3b60 | 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 20 | ..................else.......... |
| 3b80 | 20 20 20 20 20 20 20 20 20 20 20 20 76 61 6c 75 65 20 3d 20 4d 65 6d 6f 72 79 48 65 6c 70 65 72 | ............value.=.MemoryHelper |
| 3ba0 | 73 2e 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 61 6c 75 65 50 | s.ReadIntFromMultipleBits(valueP |
| 3bc0 | 74 72 2c 20 62 69 74 4f 66 66 73 65 74 2c 20 73 69 7a 65 49 6e 42 69 74 73 29 3b 0d 0a 20 20 20 | tr,.bitOffset,.sizeInBits);..... |
| 3be0 | 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. |
| 3c00 | 28 66 6f 72 6d 61 74 20 3d 3d 20 46 6f 72 6d 61 74 53 42 69 74 29 0d 0a 20 20 20 20 20 20 20 20 | (format.==.FormatSBit).......... |
| 3c20 | 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 73 69 7a 65 49 | ....{..................if.(sizeI |
| 3c40 | 6e 42 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 7b 0d 0a | nBits.==.1)..................{.. |
| 3c60 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 6c 75 65 20 3d 20 4d 65 6d 6f | ....................value.=.Memo |
| 3c80 | 72 79 48 65 6c 70 65 72 73 2e 52 65 61 64 53 69 6e 67 6c 65 42 69 74 28 76 61 6c 75 65 50 74 72 | ryHelpers.ReadSingleBit(valuePtr |
| 3ca0 | 2c 20 62 69 74 4f 66 66 73 65 74 29 20 3f 20 31 20 3a 20 2d 31 3b 0d 0a 20 20 20 20 20 20 20 20 | ,.bitOffset).?.1.:.-1;.......... |
| 3cc0 | 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 65 6c 73 65 0d | ........}..................else. |
| 3ce0 | 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 20 | .................{.............. |
| 3d00 | 20 20 20 20 20 20 20 20 76 61 72 20 68 61 6c 66 4d 61 78 20 3d 20 28 31 20 3c 3c 20 28 69 6e 74 | ........var.halfMax.=.(1.<<.(int |
| 3d20 | 29 73 69 7a 65 49 6e 42 69 74 73 29 20 2f 20 32 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | )sizeInBits)./.2;............... |
| 3d40 | 20 20 20 20 20 20 20 76 61 72 20 75 6e 73 69 67 6e 65 64 56 61 6c 75 65 20 3d 20 4d 65 6d 6f 72 | .......var.unsignedValue.=.Memor |
| 3d60 | 79 48 65 6c 70 65 72 73 2e 52 65 61 64 49 6e 74 46 72 6f 6d 4d 75 6c 74 69 70 6c 65 42 69 74 73 | yHelpers.ReadIntFromMultipleBits |
| 3d80 | 28 76 61 6c 75 65 50 74 72 2c 20 62 69 74 4f 66 66 73 65 74 2c 20 73 69 7a 65 49 6e 42 69 74 73 | (valuePtr,.bitOffset,.sizeInBits |
| 3da0 | 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 6c 75 65 20 3d 20 | );......................value.=. |
| 3dc0 | 75 6e 73 69 67 6e 65 64 56 61 6c 75 65 20 2d 20 68 61 6c 66 4d 61 78 3b 0d 0a 20 20 20 20 20 20 | unsignedValue.-.halfMax;........ |
| 3de0 | 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 7d 0d 0a 20 20 20 20 | ..........}..............}...... |
| 3e00 | 20 20 20 20 20 20 20 20 65 6c 73 65 20 69 66 20 28 66 6f 72 6d 61 74 20 3d 3d 20 46 6f 72 6d 61 | ........else.if.(format.==.Forma |
| 3e20 | 74 42 79 74 65 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 | tByte)..............{........... |
| 3e40 | 20 20 20 20 20 20 20 44 65 62 75 67 2e 41 73 73 65 72 74 28 73 69 7a 65 49 6e 42 69 74 73 20 3d | .......Debug.Assert(sizeInBits.= |
| 3e60 | 3d 20 38 2c 20 22 42 59 54 45 20 73 74 61 74 65 20 6d 75 73 74 20 68 61 76 65 20 73 69 7a 65 49 | =.8,."BYTE.state.must.have.sizeI |
| 3e80 | 6e 42 69 74 73 3d 38 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 44 65 62 75 | nBits=8");..................Debu |
| 3ea0 | 67 2e 41 73 73 65 72 74 28 62 69 74 4f 66 66 73 65 74 20 3d 3d 20 30 2c 20 22 42 59 54 45 20 73 | g.Assert(bitOffset.==.0,."BYTE.s |
| 3ec0 | 74 61 74 65 20 6d 75 73 74 20 62 65 20 62 79 74 65 2d 61 6c 69 67 6e 65 64 22 29 3b 0d 0a 20 20 | tate.must.be.byte-aligned");.... |
| 3ee0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 6c 75 65 20 3d 20 2a 76 61 6c 75 65 50 74 72 3b | ..............value.=.*valuePtr; |
| 3f00 | 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 65 6c 73 | ..............}..............els |
| 3f20 | 65 20 69 66 20 28 66 6f 72 6d 61 74 20 3d 3d 20 46 6f 72 6d 61 74 53 42 79 74 65 29 0d 0a 20 20 | e.if.(format.==.FormatSByte).... |
| 3f40 | 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 44 65 62 | ..........{..................Deb |
| 3f60 | 75 67 2e 41 73 73 65 72 74 28 73 69 7a 65 49 6e 42 69 74 73 20 3d 3d 20 38 2c 20 22 53 42 59 54 | ug.Assert(sizeInBits.==.8,."SBYT |
| 3f80 | 20 73 74 61 74 65 20 6d 75 73 74 20 68 61 76 65 20 73 69 7a 65 49 6e 42 69 74 73 3d 38 22 29 3b | .state.must.have.sizeInBits=8"); |
| 3fa0 | 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 44 65 62 75 67 2e 41 73 73 65 72 74 28 62 | ..................Debug.Assert(b |
| 3fc0 | 69 74 4f 66 66 73 65 74 20 3d 3d 20 30 2c 20 22 53 42 59 54 20 73 74 61 74 65 20 6d 75 73 74 20 | itOffset.==.0,."SBYT.state.must. |
| 3fe0 | 62 65 20 62 79 74 65 2d 61 6c 69 67 6e 65 64 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 | be.byte-aligned");.............. |
| 4000 | 20 20 20 20 76 61 6c 75 65 20 3d 20 2a 28 73 62 79 74 65 2a 29 76 61 6c 75 65 50 74 72 3b 0d 0a | ....value.=.*(sbyte*)valuePtr;.. |
| 4020 | 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. |
| 4040 | 69 66 20 28 66 6f 72 6d 61 74 20 3d 3d 20 46 6f 72 6d 61 74 53 68 6f 72 74 29 0d 0a 20 20 20 20 | if.(format.==.FormatShort)...... |
| 4060 | 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 44 65 62 75 67 | ........{..................Debug |
| 4080 | 2e 41 73 73 65 72 74 28 73 69 7a 65 49 6e 42 69 74 73 20 3d 3d 20 31 36 2c 20 22 53 48 52 54 20 | .Assert(sizeInBits.==.16,."SHRT. |
| 40a0 | 73 74 61 74 65 20 6d 75 73 74 20 68 61 76 65 20 73 69 7a 65 49 6e 42 69 74 73 3d 31 36 22 29 3b | state.must.have.sizeInBits=16"); |
| 40c0 | 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 44 65 62 75 67 2e 41 73 73 65 72 74 28 62 | ..................Debug.Assert(b |
| 40e0 | 69 74 4f 66 66 73 65 74 20 3d 3d 20 30 2c 20 22 53 48 52 54 20 73 74 61 74 65 20 6d 75 73 74 20 | itOffset.==.0,."SHRT.state.must. |
| 4100 | 62 65 20 62 79 74 65 2d 61 6c 69 67 6e 65 64 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 | be.byte-aligned");.............. |
| 4120 | 20 20 20 20 76 61 6c 75 65 20 3d 20 2a 28 73 68 6f 72 74 2a 29 76 61 6c 75 65 50 74 72 3b 0d 0a | ....value.=.*(short*)valuePtr;.. |
| 4140 | 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. |
| 4160 | 69 66 20 28 66 6f 72 6d 61 74 20 3d 3d 20 46 6f 72 6d 61 74 55 53 68 6f 72 74 29 0d 0a 20 20 20 | if.(format.==.FormatUShort)..... |
| 4180 | 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 44 65 62 75 | .........{..................Debu |
| 41a0 | 67 2e 41 73 73 65 72 74 28 73 69 7a 65 49 6e 42 69 74 73 20 3d 3d 20 31 36 2c 20 22 55 53 48 54 | g.Assert(sizeInBits.==.16,."USHT |
| 41c0 | 20 73 74 61 74 65 20 6d 75 73 74 20 68 61 76 65 20 73 69 7a 65 49 6e 42 69 74 73 3d 31 36 22 29 | .state.must.have.sizeInBits=16") |
| 41e0 | 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 44 65 62 75 67 2e 41 73 73 65 72 74 28 | ;..................Debug.Assert( |
| 4200 | 62 69 74 4f 66 66 73 65 74 20 3d 3d 20 30 2c 20 22 55 53 48 54 20 73 74 61 74 65 20 6d 75 73 74 | bitOffset.==.0,."USHT.state.must |
| 4220 | 20 62 65 20 62 79 74 65 2d 61 6c 69 67 6e 65 64 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 | .be.byte-aligned");............. |
| 4240 | 20 20 20 20 20 76 61 6c 75 65 20 3d 20 2a 28 75 73 68 6f 72 74 2a 29 76 61 6c 75 65 50 74 72 3b | .....value.=.*(ushort*)valuePtr; |
| 4260 | 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 65 6c 73 | ..............}..............els |
| 4280 | 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 20 20 20 | e..............{................ |
| 42a0 | 20 20 74 68 72 6f 77 20 6e 65 77 20 49 6e 76 61 6c 69 64 4f 70 65 72 61 74 69 6f 6e 45 78 63 65 | ..throw.new.InvalidOperationExce |
| 42c0 | 70 74 69 6f 6e 28 24 22 53 74 61 74 65 20 66 6f 72 6d 61 74 20 27 7b 66 6f 72 6d 61 74 7d 27 20 | ption($"State.format.'{format}'. |
| 42e0 | 69 73 20 6e 6f 74 20 73 75 70 70 6f 72 74 65 64 20 61 73 20 69 6e 74 65 67 65 72 20 66 6f 72 6d | is.not.supported.as.integer.form |
| 4300 | 61 74 22 29 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 | at");..............}............ |
| 4320 | 20 20 20 20 72 65 74 75 72 6e 20 76 61 6c 75 65 3b 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a | ....return.value;..........}.... |
| 4340 | 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 76 6f 69 64 20 57 72 69 74 65 49 6e 74 28 76 6f 69 | ........public.void.WriteInt(voi |
| 4360 | 64 2a 20 73 74 61 74 65 50 74 72 2c 20 69 6e 74 20 76 61 6c 75 65 29 0d 0a 20 20 20 20 20 20 20 | d*.statePtr,.int.value)......... |
| 4380 | 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 44 65 62 75 67 2e 41 73 73 65 72 74 28 73 69 7a | .{..............Debug.Assert(siz |
| 43a0 | 65 49 6e 42 69 74 73 20 21 3d 20 30 29 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 | eInBits.!=.0);................va |
| 43c0 | 72 20 76 61 6c 75 65 50 74 72 20 3d 20 28 62 79 74 65 2a 29 73 74 61 74 65 50 74 72 20 2b 20 28 | r.valuePtr.=.(byte*)statePtr.+.( |
| 43e0 | 69 6e 74 29 62 79 74 65 4f 66 66 73 65 74 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 | int)byteOffset;................i |
| 4400 | 66 20 28 66 6f 72 6d 61 74 20 3d 3d 20 46 6f 72 6d 61 74 49 6e 74 20 7c 7c 20 66 6f 72 6d 61 74 | f.(format.==.FormatInt.||.format |
| 4420 | 20 3d 3d 20 46 6f 72 6d 61 74 55 49 6e 74 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a | .==.FormatUInt)..............{.. |
| 4440 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 44 65 62 75 67 2e 41 73 73 65 72 74 28 73 69 7a | ................Debug.Assert(siz |
| 4460 | 65 49 6e 42 69 74 73 20 3d 3d 20 33 32 2c 20 22 49 4e 54 20 61 6e 64 20 55 49 4e 54 20 73 74 61 | eInBits.==.32,."INT.and.UINT.sta |
| 4480 | 74 65 20 6d 75 73 74 20 68 61 76 65 20 73 69 7a 65 49 6e 42 69 74 73 3d 33 32 22 29 3b 0d 0a 20 | te.must.have.sizeInBits=32");... |
| 44a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 44 65 62 75 67 2e 41 73 73 65 72 74 28 62 69 74 4f | ...............Debug.Assert(bitO |
| 44c0 | 66 66 73 65 74 20 3d 3d 20 30 2c 20 22 49 4e 54 20 61 6e 64 20 55 49 4e 54 20 73 74 61 74 65 20 | ffset.==.0,."INT.and.UINT.state. |
| 44e0 | 6d 75 73 74 20 62 65 20 62 79 74 65 2d 61 6c 69 67 6e 65 64 22 29 3b 0d 0a 20 20 20 20 20 20 20 | must.be.byte-aligned");......... |
| 4500 | 20 20 20 20 20 20 20 20 20 2a 28 69 6e 74 2a 29 76 61 6c 75 65 50 74 72 20 3d 20 76 61 6c 75 65 | .........*(int*)valuePtr.=.value |
| 4520 | 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 65 6c | ;..............}..............el |
| 4540 | 73 65 20 69 66 20 28 66 6f 72 6d 61 74 20 3d 3d 20 46 6f 72 6d 61 74 42 69 74 29 0d 0a 20 20 20 | se.if.(format.==.FormatBit)..... |
| 4560 | 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 69 66 20 28 | .........{..................if.( |
| 4580 | 73 69 7a 65 49 6e 42 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 | sizeInBits.==.1)................ |
| 45a0 | 20 20 20 20 20 20 4d 65 6d 6f 72 79 48 65 6c 70 65 72 73 2e 57 72 69 74 65 53 69 6e 67 6c 65 42 | ......MemoryHelpers.WriteSingleB |
| 45c0 | 69 74 28 76 61 6c 75 65 50 74 72 2c 20 62 69 74 4f 66 66 73 65 74 2c 20 76 61 6c 75 65 20 21 3d | it(valuePtr,.bitOffset,.value.!= |
| 45e0 | 20 30 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 20 20 | .0);..................else...... |
| 4600 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4d 65 6d 6f 72 79 48 65 6c 70 65 72 73 2e 57 72 | ................MemoryHelpers.Wr |
| 4620 | 69 74 65 49 6e 74 46 72 6f 6d 4d 75 6c 74 69 70 6c 65 42 69 74 73 28 76 61 6c 75 65 50 74 72 2c | iteIntFromMultipleBits(valuePtr, |
| 4640 | 20 62 69 74 4f 66 66 73 65 74 2c 20 73 69 7a 65 49 6e 42 69 74 73 2c 20 76 61 6c 75 65 29 3b 0d | .bitOffset,.sizeInBits,.value);. |
| 4660 | 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 65 6c 73 65 | .............}..............else |
| 4680 | 20 69 66 20 28 66 6f 72 6d 61 74 20 3d 3d 20 46 6f 72 6d 61 74 53 42 69 74 29 0d 0a 20 20 20 20 | .if.(format.==.FormatSBit)...... |
| 46a0 | 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 73 | ........{..................if.(s |
| 46c0 | 69 7a 65 49 6e 42 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 | izeInBits.==.1)................. |
| 46e0 | 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4d 65 6d 6f 72 79 48 65 | .{......................MemoryHe |
| 4700 | 6c 70 65 72 73 2e 57 72 69 74 65 53 69 6e 67 6c 65 42 69 74 28 76 61 6c 75 65 50 74 72 2c 20 62 | lpers.WriteSingleBit(valuePtr,.b |
| 4720 | 69 74 4f 66 66 73 65 74 2c 20 76 61 6c 75 65 20 3e 20 30 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 | itOffset,.value.>.0);........... |
| 4740 | 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 65 6c 73 65 0d 0a | .......}..................else.. |
| 4760 | 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 20 20 | ................{............... |
| 4780 | 20 20 20 20 20 20 20 76 61 72 20 68 61 6c 66 4d 61 78 20 3d 20 28 31 20 3c 3c 20 28 69 6e 74 29 | .......var.halfMax.=.(1.<<.(int) |
| 47a0 | 73 69 7a 65 49 6e 42 69 74 73 29 20 2f 20 32 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | sizeInBits)./.2;................ |
| 47c0 | 20 20 20 20 20 20 4d 65 6d 6f 72 79 48 65 6c 70 65 72 73 2e 57 72 69 74 65 49 6e 74 46 72 6f 6d | ......MemoryHelpers.WriteIntFrom |
| 47e0 | 4d 75 6c 74 69 70 6c 65 42 69 74 73 28 76 61 6c 75 65 50 74 72 2c 20 62 69 74 4f 66 66 73 65 74 | MultipleBits(valuePtr,.bitOffset |
| 4800 | 2c 20 73 69 7a 65 49 6e 42 69 74 73 2c 20 76 61 6c 75 65 20 2b 20 68 61 6c 66 4d 61 78 29 3b 0d | ,.sizeInBits,.value.+.halfMax);. |
| 4820 | 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 20 | .................}.............. |
| 4840 | 7d 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 6c 73 65 20 69 66 20 28 66 6f 72 6d 61 74 20 3d | }..............else.if.(format.= |
| 4860 | 3d 20 46 6f 72 6d 61 74 42 79 74 65 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 | =.FormatByte)..............{.... |
| 4880 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 44 65 62 75 67 2e 41 73 73 65 72 74 28 73 69 7a 65 49 | ..............Debug.Assert(sizeI |
| 48a0 | 6e 42 69 74 73 20 3d 3d 20 38 2c 20 22 42 59 54 45 20 73 74 61 74 65 20 6d 75 73 74 20 68 61 76 | nBits.==.8,."BYTE.state.must.hav |
| 48c0 | 65 20 73 69 7a 65 49 6e 42 69 74 73 3d 38 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | e.sizeInBits=8");............... |
| 48e0 | 20 20 20 44 65 62 75 67 2e 41 73 73 65 72 74 28 62 69 74 4f 66 66 73 65 74 20 3d 3d 20 30 2c 20 | ...Debug.Assert(bitOffset.==.0,. |
| 4900 | 22 42 59 54 45 20 73 74 61 74 65 20 6d 75 73 74 20 62 65 20 62 79 74 65 2d 61 6c 69 67 6e 65 64 | "BYTE.state.must.be.byte-aligned |
| 4920 | 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a 76 61 6c 75 65 50 74 72 20 3d | ");..................*valuePtr.= |
| 4940 | 20 28 62 79 74 65 29 76 61 6c 75 65 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 | .(byte)value;..............}.... |
| 4960 | 20 20 20 20 20 20 20 20 20 20 65 6c 73 65 20 69 66 20 28 66 6f 72 6d 61 74 20 3d 3d 20 46 6f 72 | ..........else.if.(format.==.For |
| 4980 | 6d 61 74 53 42 79 74 65 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 | matSByte)..............{........ |
| 49a0 | 20 20 20 20 20 20 20 20 20 20 44 65 62 75 67 2e 41 73 73 65 72 74 28 73 69 7a 65 49 6e 42 69 74 | ..........Debug.Assert(sizeInBit |
| 49c0 | 73 20 3d 3d 20 38 2c 20 22 53 42 59 54 20 73 74 61 74 65 20 6d 75 73 74 20 68 61 76 65 20 73 69 | s.==.8,."SBYT.state.must.have.si |
| 49e0 | 7a 65 49 6e 42 69 74 73 3d 38 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 44 | zeInBits=8");..................D |
| 4a00 | 65 62 75 67 2e 41 73 73 65 72 74 28 62 69 74 4f 66 66 73 65 74 20 3d 3d 20 30 2c 20 22 53 42 59 | ebug.Assert(bitOffset.==.0,."SBY |
| 4a20 | 54 20 73 74 61 74 65 20 6d 75 73 74 20 62 65 20 62 79 74 65 2d 61 6c 69 67 6e 65 64 22 29 3b 0d | T.state.must.be.byte-aligned");. |
| 4a40 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a 28 73 62 79 74 65 2a 29 76 61 6c 75 65 50 | .................*(sbyte*)valueP |
| 4a60 | 74 72 20 3d 20 28 73 62 79 74 65 29 76 61 6c 75 65 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 | tr.=.(sbyte)value;.............. |
| 4a80 | 7d 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 6c 73 65 20 69 66 20 28 66 6f 72 6d 61 74 20 3d | }..............else.if.(format.= |
| 4aa0 | 3d 20 46 6f 72 6d 61 74 53 68 6f 72 74 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 | =.FormatShort)..............{... |
| 4ac0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 44 65 62 75 67 2e 41 73 73 65 72 74 28 73 69 7a 65 | ...............Debug.Assert(size |
| 4ae0 | 49 6e 42 69 74 73 20 3d 3d 20 31 36 2c 20 22 53 48 52 54 20 73 74 61 74 65 20 6d 75 73 74 20 68 | InBits.==.16,."SHRT.state.must.h |
| 4b00 | 61 76 65 20 73 69 7a 65 49 6e 42 69 74 73 3d 31 36 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 | ave.sizeInBits=16");............ |
| 4b20 | 20 20 20 20 20 20 44 65 62 75 67 2e 41 73 73 65 72 74 28 62 69 74 4f 66 66 73 65 74 20 3d 3d 20 | ......Debug.Assert(bitOffset.==. |
| 4b40 | 30 2c 20 22 53 48 52 54 20 73 74 61 74 65 20 6d 75 73 74 20 62 65 20 62 79 74 65 2d 61 6c 69 67 | 0,."SHRT.state.must.be.byte-alig |
| 4b60 | 6e 65 64 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a 28 73 68 6f 72 74 2a | ned");..................*(short* |
| 4b80 | 29 76 61 6c 75 65 50 74 72 20 3d 20 28 73 68 6f 72 74 29 76 61 6c 75 65 3b 0d 0a 20 20 20 20 20 | )valuePtr.=.(short)value;....... |
| 4ba0 | 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 28 66 | .......}..............else.if.(f |
| 4bc0 | 6f 72 6d 61 74 20 3d 3d 20 46 6f 72 6d 61 74 55 53 68 6f 72 74 29 0d 0a 20 20 20 20 20 20 20 20 | ormat.==.FormatUShort).......... |
| 4be0 | 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 44 65 62 75 67 2e 41 73 73 | ....{..................Debug.Ass |
| 4c00 | 65 72 74 28 73 69 7a 65 49 6e 42 69 74 73 20 3d 3d 20 31 36 2c 20 22 55 53 48 54 20 73 74 61 74 | ert(sizeInBits.==.16,."USHT.stat |
| 4c20 | 65 20 6d 75 73 74 20 68 61 76 65 20 73 69 7a 65 49 6e 42 69 74 73 3d 31 36 22 29 3b 0d 0a 20 20 | e.must.have.sizeInBits=16");.... |
| 4c40 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 44 65 62 75 67 2e 41 73 73 65 72 74 28 62 69 74 4f 66 | ..............Debug.Assert(bitOf |
| 4c60 | 66 73 65 74 20 3d 3d 20 30 2c 20 22 55 53 48 54 20 73 74 61 74 65 20 6d 75 73 74 20 62 65 20 62 | fset.==.0,."USHT.state.must.be.b |
| 4c80 | 79 74 65 2d 61 6c 69 67 6e 65 64 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | yte-aligned");.................. |
| 4ca0 | 2a 28 75 73 68 6f 72 74 2a 29 76 61 6c 75 65 50 74 72 20 3d 20 28 75 73 68 6f 72 74 29 76 61 6c | *(ushort*)valuePtr.=.(ushort)val |
| 4cc0 | 75 65 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 | ue;..............}.............. |
| 4ce0 | 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..............{............. |
| 4d00 | 20 20 20 20 20 74 68 72 6f 77 20 6e 65 77 20 45 78 63 65 70 74 69 6f 6e 28 24 22 53 74 61 74 65 | .....throw.new.Exception($"State |
| 4d20 | 20 66 6f 72 6d 61 74 20 27 7b 66 6f 72 6d 61 74 7d 27 20 69 73 20 6e 6f 74 20 73 75 70 70 6f 72 | .format.'{format}'.is.not.suppor |
| 4d40 | 74 65 64 20 61 73 20 69 6e 74 65 67 65 72 20 66 6f 72 6d 61 74 22 29 3b 0d 0a 20 20 20 20 20 20 | ted.as.integer.format");........ |
| 4d60 | 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 20 20 20 20 70 75 | ......}..........}............pu |
| 4d80 | 62 6c 69 63 20 66 6c 6f 61 74 20 52 65 61 64 46 6c 6f 61 74 28 76 6f 69 64 2a 20 73 74 61 74 65 | blic.float.ReadFloat(void*.state |
| 4da0 | 50 74 72 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 44 65 62 | Ptr)..........{..............Deb |
| 4dc0 | 75 67 2e 41 73 73 65 72 74 28 73 69 7a 65 49 6e 42 69 74 73 20 21 3d 20 30 29 3b 0d 0a 0d 0a 20 | ug.Assert(sizeInBits.!=.0);..... |
| 4de0 | 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 76 61 6c 75 65 50 74 72 20 3d 20 28 62 79 74 65 2a | ...........var.valuePtr.=.(byte* |
| 4e00 | 29 73 74 61 74 65 50 74 72 20 2b 20 28 69 6e 74 29 62 79 74 65 4f 66 66 73 65 74 3b 0d 0a 0d 0a | )statePtr.+.(int)byteOffset;.... |
| 4e20 | 20 20 20 20 20 20 20 20 20 20 20 20 66 6c 6f 61 74 20 76 61 6c 75 65 3b 0d 0a 20 20 20 20 20 20 | ............float.value;........ |
| 4e40 | 20 20 20 20 20 20 69 66 20 28 66 6f 72 6d 61 74 20 3d 3d 20 46 6f 72 6d 61 74 46 6c 6f 61 74 29 | ......if.(format.==.FormatFloat) |
| 4e60 | 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 20 | ..............{................. |
| 4e80 | 20 44 65 62 75 67 2e 41 73 73 65 72 74 28 73 69 7a 65 49 6e 42 69 74 73 20 3d 3d 20 33 32 2c 20 | .Debug.Assert(sizeInBits.==.32,. |
| 4ea0 | 22 46 4c 54 20 73 74 61 74 65 20 6d 75 73 74 20 68 61 76 65 20 73 69 7a 65 49 6e 42 69 74 73 3d | "FLT.state.must.have.sizeInBits= |
| 4ec0 | 33 32 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 44 65 62 75 67 2e 41 73 73 | 32");..................Debug.Ass |
| 4ee0 | 65 72 74 28 62 69 74 4f 66 66 73 65 74 20 3d 3d 20 30 2c 20 22 46 4c 54 20 73 74 61 74 65 20 6d | ert(bitOffset.==.0,."FLT.state.m |
| 4f00 | 75 73 74 20 62 65 20 62 79 74 65 2d 61 6c 69 67 6e 65 64 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 | ust.be.byte-aligned");.......... |
| 4f20 | 20 20 20 20 20 20 20 20 76 61 6c 75 65 20 3d 20 2a 28 66 6c 6f 61 74 2a 29 76 61 6c 75 65 50 74 | ........value.=.*(float*)valuePt |
| 4f40 | 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 65 | r;..............}..............e |
| 4f60 | 6c 73 65 20 69 66 20 28 66 6f 72 6d 61 74 20 3d 3d 20 46 6f 72 6d 61 74 42 69 74 20 7c 7c 20 66 | lse.if.(format.==.FormatBit.||.f |
| 4f80 | 6f 72 6d 61 74 20 3d 3d 20 46 6f 72 6d 61 74 53 42 69 74 29 0d 0a 20 20 20 20 20 20 20 20 20 20 | ormat.==.FormatSBit)............ |
| 4fa0 | 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 73 69 7a 65 49 6e 42 | ..{..................if.(sizeInB |
| 4fc0 | 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 7b 0d 0a 20 20 | its.==.1)..................{.... |
| 4fe0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 6c 75 65 20 3d 20 4d 65 6d 6f 72 79 | ..................value.=.Memory |
| 5000 | 48 65 6c 70 65 72 73 2e 52 65 61 64 53 69 6e 67 6c 65 42 69 74 28 76 61 6c 75 65 50 74 72 2c 20 | Helpers.ReadSingleBit(valuePtr,. |
| 5020 | 62 69 74 4f 66 66 73 65 74 29 20 3f 20 31 2e 30 66 20 3a 20 28 66 6f 72 6d 61 74 20 3d 3d 20 46 | bitOffset).?.1.0f.:.(format.==.F |
| 5040 | 6f 72 6d 61 74 53 42 69 74 20 3f 20 2d 31 2e 30 66 20 3a 20 30 2e 30 66 29 3b 0d 0a 20 20 20 20 | ormatSBit.?.-1.0f.:.0.0f);...... |
| 5060 | 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 20 20 20 20 65 | ............}..................e |
| 5080 | 6c 73 65 20 69 66 20 28 73 69 7a 65 49 6e 42 69 74 73 20 3c 3d 20 33 31 29 0d 0a 20 20 20 20 20 | lse.if.(sizeInBits.<=.31)....... |
| 50a0 | 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 20 | ...........{.................... |
| 50c0 | 20 20 76 61 72 20 6d 61 78 56 61 6c 75 65 20 3d 20 28 66 6c 6f 61 74 29 28 31 20 3c 3c 20 28 69 | ..var.maxValue.=.(float)(1.<<.(i |
| 50e0 | 6e 74 29 73 69 7a 65 49 6e 42 69 74 73 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | nt)sizeInBits);................. |
| 5100 | 20 20 20 20 20 76 61 72 20 72 61 77 56 61 6c 75 65 20 3d 20 28 66 6c 6f 61 74 29 28 4d 65 6d 6f | .....var.rawValue.=.(float)(Memo |
| 5120 | 72 79 48 65 6c 70 65 72 73 2e 52 65 61 64 49 6e 74 46 72 6f 6d 4d 75 6c 74 69 70 6c 65 42 69 74 | ryHelpers.ReadIntFromMultipleBit |
| 5140 | 73 28 76 61 6c 75 65 50 74 72 2c 20 62 69 74 4f 66 66 73 65 74 2c 20 73 69 7a 65 49 6e 42 69 74 | s(valuePtr,.bitOffset,.sizeInBit |
| 5160 | 73 29 29 3b 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 66 6f | s));......................if.(fo |
| 5180 | 72 6d 61 74 20 3d 3d 20 46 6f 72 6d 61 74 53 42 69 74 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 | rmat.==.FormatSBit)............. |
| 51a0 | 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 | .........{...................... |
| 51c0 | 20 20 20 20 76 61 72 20 75 6e 63 6c 61 6d 70 65 64 56 61 6c 75 65 20 3d 20 28 72 61 77 56 61 6c | ....var.unclampedValue.=.(rawVal |
| 51e0 | 75 65 20 2f 20 6d 61 78 56 61 6c 75 65 29 20 2a 20 32 2e 30 66 20 2d 20 31 2e 30 66 3b 0d 0a 20 | ue./.maxValue).*.2.0f.-.1.0f;... |
| 5200 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 6c 75 65 20 3d 20 4d | .......................value.=.M |
| 5220 | 61 74 68 66 2e 43 6c 61 6d 70 28 75 6e 63 6c 61 6d 70 65 64 56 61 6c 75 65 2c 20 2d 31 2e 30 66 | athf.Clamp(unclampedValue,.-1.0f |
| 5240 | 2c 20 31 2e 30 66 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d | ,.1.0f);......................}. |
| 5260 | 0a 20 20 20 20 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 | .....................else....... |
| 5280 | 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 20 20 20 | ...............{................ |
| 52a0 | 20 20 20 20 20 20 20 20 20 20 76 61 6c 75 65 20 3d 20 4d 61 74 68 66 2e 43 6c 61 6d 70 28 72 61 | ..........value.=.Mathf.Clamp(ra |
| 52c0 | 77 56 61 6c 75 65 20 2f 20 6d 61 78 56 61 6c 75 65 2c 20 30 2e 30 66 2c 20 31 2e 30 66 29 3b 0d | wValue./.maxValue,.0.0f,.1.0f);. |
| 52e0 | 0a 20 20 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 | .....................}.......... |
| 5300 | 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 65 6c 73 65 0d | ........}..................else. |
| 5320 | 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 20 | .................{.............. |
| 5340 | 20 20 20 20 20 20 20 20 74 68 72 6f 77 20 6e 65 77 20 4e 6f 74 49 6d 70 6c 65 6d 65 6e 74 65 64 | ........throw.new.NotImplemented |
| 5360 | 45 78 63 65 70 74 69 6f 6e 28 22 43 61 6e 6e 6f 74 20 79 65 74 20 63 6f 6e 76 65 72 74 20 6d 75 | Exception("Cannot.yet.convert.mu |
| 5380 | 6c 74 69 2d 62 69 74 20 66 69 65 6c 64 73 20 67 72 65 61 74 65 72 20 74 68 61 6e 20 33 31 20 62 | lti-bit.fields.greater.than.31.b |
| 53a0 | 69 74 73 20 74 6f 20 66 6c 6f 61 74 73 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | its.to.floats");................ |
| 53c0 | 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 20 20 20 20 20 20 | ..}..............}.............. |
| 53e0 | 2f 2f 20 49 66 20 61 20 63 6f 6e 74 72 6f 6c 20 77 69 74 68 20 61 6e 20 69 6e 74 65 67 65 72 2d | //.If.a.control.with.an.integer- |
| 5400 | 62 61 73 65 64 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 64 6f 65 73 20 6e 6f 74 20 75 73 | based.representation.does.not.us |
| 5420 | 65 20 74 68 65 20 66 75 6c 6c 20 72 61 6e 67 65 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f | e.the.full.range..............// |
| 5440 | 20 6f 66 20 69 74 73 20 69 6e 74 65 67 65 72 20 73 69 7a 65 20 28 65 2e 67 2e 20 6f 6e 6c 79 20 | .of.its.integer.size.(e.g..only. |
| 5460 | 67 6f 65 73 20 66 72 6f 6d 20 5b 30 2e 2e 31 32 38 5d 29 2c 20 70 72 6f 63 65 73 73 6f 72 73 20 | goes.from.[0..128]),.processors. |
| 5480 | 6f 72 20 74 68 65 20 70 61 72 61 6d 65 74 65 72 73 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f | or.the.parameters............../ |
| 54a0 | 2f 20 61 62 6f 76 65 20 68 61 76 65 20 74 6f 20 62 65 20 75 73 65 64 20 74 6f 20 72 65 2d 70 72 | /.above.have.to.be.used.to.re-pr |
| 54c0 | 6f 63 65 73 73 20 74 68 65 20 72 65 73 75 6c 74 69 6e 67 20 66 6c 6f 61 74 20 76 61 6c 75 65 73 | ocess.the.resulting.float.values |
| 54e0 | 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 6c 73 65 20 69 66 20 28 66 6f 72 6d 61 74 20 3d | ...............else.if.(format.= |
| 5500 | 3d 20 46 6f 72 6d 61 74 53 68 6f 72 74 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 | =.FormatShort)..............{... |
| 5520 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 44 65 62 75 67 2e 41 73 73 65 72 74 28 73 69 7a 65 | ...............Debug.Assert(size |
| 5540 | 49 6e 42 69 74 73 20 3d 3d 20 31 36 2c 20 22 53 48 52 54 20 73 74 61 74 65 20 6d 75 73 74 20 68 | InBits.==.16,."SHRT.state.must.h |
| 5560 | 61 76 65 20 73 69 7a 65 49 6e 42 69 74 73 3d 31 36 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 | ave.sizeInBits=16");............ |
| 5580 | 20 20 20 20 20 20 44 65 62 75 67 2e 41 73 73 65 72 74 28 62 69 74 4f 66 66 73 65 74 20 3d 3d 20 | ......Debug.Assert(bitOffset.==. |
| 55a0 | 30 2c 20 22 53 48 52 54 20 73 74 61 74 65 20 6d 75 73 74 20 62 65 20 62 79 74 65 2d 61 6c 69 67 | 0,."SHRT.state.must.be.byte-alig |
| 55c0 | 6e 65 64 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f 2f 52 45 56 49 | ned");..................////REVI |
| 55e0 | 45 57 3a 20 57 68 61 74 27 73 20 62 65 74 74 65 72 20 68 65 72 65 3f 20 54 68 69 73 20 63 6f 64 | EW:.What's.better.here?.This.cod |
| 5600 | 65 20 72 65 61 63 68 65 73 20 61 20 63 6c 65 61 6e 20 2d 31 20 62 75 74 20 64 6f 65 73 6e 27 74 | e.reaches.a.clean.-1.but.doesn't |
| 5620 | 20 72 65 61 63 68 20 61 20 63 6c 65 61 6e 20 2b 31 20 61 73 20 74 68 65 20 72 61 6e 67 65 20 69 | .reach.a.clean.+1.as.the.range.i |
| 5640 | 73 20 5b 2d 33 32 37 36 38 2e 2e 33 32 37 36 37 5d 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 | s.[-32768..32767]............... |
| 5660 | 20 20 20 20 2f 2f 2f 2f 20 20 20 20 20 20 20 20 53 68 6f 75 6c 64 20 77 65 20 63 75 74 20 6f 66 | ....////........Should.we.cut.of |
| 5680 | 66 20 61 74 20 2d 33 32 37 36 37 3f 20 4f 72 20 6a 75 73 74 20 6c 69 76 65 20 77 69 74 68 20 74 | f.at.-32767?.Or.just.live.with.t |
| 56a0 | 68 65 20 66 61 63 74 20 74 68 61 74 20 30 2e 39 39 39 20 69 73 20 61 73 20 68 69 67 68 20 61 73 | he.fact.that.0.999.is.as.high.as |
| 56c0 | 20 69 74 20 67 65 74 73 3f 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 6c 75 65 | .it.gets?..................value |
| 56e0 | 20 3d 20 2a 28 73 68 6f 72 74 2a 29 76 61 6c 75 65 50 74 72 20 2f 20 33 32 37 36 38 2e 30 66 3b | .=.*(short*)valuePtr./.32768.0f; |
| 5700 | 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 65 6c 73 | ..............}..............els |
| 5720 | 65 20 69 66 20 28 66 6f 72 6d 61 74 20 3d 3d 20 46 6f 72 6d 61 74 55 53 68 6f 72 74 29 0d 0a 20 | e.if.(format.==.FormatUShort)... |
| 5740 | 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 44 65 | ...........{..................De |
| 5760 | 62 75 67 2e 41 73 73 65 72 74 28 73 69 7a 65 49 6e 42 69 74 73 20 3d 3d 20 31 36 2c 20 22 55 53 | bug.Assert(sizeInBits.==.16,."US |
| 5780 | 48 54 20 73 74 61 74 65 20 6d 75 73 74 20 68 61 76 65 20 73 69 7a 65 49 6e 42 69 74 73 3d 31 36 | HT.state.must.have.sizeInBits=16 |
| 57a0 | 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 44 65 62 75 67 2e 41 73 73 65 72 | ");..................Debug.Asser |
| 57c0 | 74 28 62 69 74 4f 66 66 73 65 74 20 3d 3d 20 30 2c 20 22 55 53 48 54 20 73 74 61 74 65 20 6d 75 | t(bitOffset.==.0,."USHT.state.mu |
| 57e0 | 73 74 20 62 65 20 62 79 74 65 2d 61 6c 69 67 6e 65 64 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 | st.be.byte-aligned");........... |
| 5800 | 20 20 20 20 20 20 20 76 61 6c 75 65 20 3d 20 2a 28 75 73 68 6f 72 74 2a 29 76 61 6c 75 65 50 74 | .......value.=.*(ushort*)valuePt |
| 5820 | 72 20 2f 20 36 35 35 33 35 2e 30 66 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 | r./.65535.0f;..............}.... |
| 5840 | 20 20 20 20 20 20 20 20 20 20 65 6c 73 65 20 69 66 20 28 66 6f 72 6d 61 74 20 3d 3d 20 46 6f 72 | ..........else.if.(format.==.For |
| 5860 | 6d 61 74 42 79 74 65 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 | matByte)..............{......... |
| 5880 | 20 20 20 20 20 20 20 20 20 44 65 62 75 67 2e 41 73 73 65 72 74 28 73 69 7a 65 49 6e 42 69 74 73 | .........Debug.Assert(sizeInBits |
| 58a0 | 20 3d 3d 20 38 2c 20 22 42 59 54 45 20 73 74 61 74 65 20 6d 75 73 74 20 68 61 76 65 20 73 69 7a | .==.8,."BYTE.state.must.have.siz |
| 58c0 | 65 49 6e 42 69 74 73 3d 38 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 44 65 | eInBits=8");..................De |
| 58e0 | 62 75 67 2e 41 73 73 65 72 74 28 62 69 74 4f 66 66 73 65 74 20 3d 3d 20 30 2c 20 22 42 59 54 45 | bug.Assert(bitOffset.==.0,."BYTE |
| 5900 | 20 73 74 61 74 65 20 6d 75 73 74 20 62 65 20 62 79 74 65 2d 61 6c 69 67 6e 65 64 22 29 3b 0d 0a | .state.must.be.byte-aligned");.. |
| 5920 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 6c 75 65 20 3d 20 2a 76 61 6c 75 65 50 74 | ................value.=.*valuePt |
| 5940 | 72 20 2f 20 32 35 35 2e 30 66 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 | r./.255.0f;..............}...... |
| 5960 | 20 20 20 20 20 20 20 20 65 6c 73 65 20 69 66 20 28 66 6f 72 6d 61 74 20 3d 3d 20 46 6f 72 6d 61 | ........else.if.(format.==.Forma |
| 5980 | 74 53 42 79 74 65 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 | tSByte)..............{.......... |
| 59a0 | 20 20 20 20 20 20 20 20 44 65 62 75 67 2e 41 73 73 65 72 74 28 73 69 7a 65 49 6e 42 69 74 73 20 | ........Debug.Assert(sizeInBits. |
| 59c0 | 3d 3d 20 38 2c 20 22 53 42 59 54 20 73 74 61 74 65 20 6d 75 73 74 20 68 61 76 65 20 73 69 7a 65 | ==.8,."SBYT.state.must.have.size |
| 59e0 | 49 6e 42 69 74 73 3d 38 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 44 65 62 | InBits=8");..................Deb |
| 5a00 | 75 67 2e 41 73 73 65 72 74 28 62 69 74 4f 66 66 73 65 74 20 3d 3d 20 30 2c 20 22 53 42 59 54 20 | ug.Assert(bitOffset.==.0,."SBYT. |
| 5a20 | 73 74 61 74 65 20 6d 75 73 74 20 62 65 20 62 79 74 65 2d 61 6c 69 67 6e 65 64 22 29 3b 0d 0a 20 | state.must.be.byte-aligned");... |
| 5a40 | 20 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 53 61 6d 65 20 | ...............////REVIEW:.Same. |
| 5a60 | 70 72 6f 62 6c 65 6d 20 68 65 72 65 20 61 73 20 77 69 74 68 20 27 73 68 6f 72 74 27 0d 0a 20 20 | problem.here.as.with.'short'.... |
| 5a80 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 6c 75 65 20 3d 20 2a 28 73 62 79 74 65 2a 29 76 | ..............value.=.*(sbyte*)v |
| 5aa0 | 61 6c 75 65 50 74 72 20 2f 20 31 32 38 2e 30 66 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d | aluePtr./.128.0f;..............} |
| 5ac0 | 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 6c 73 65 20 69 66 20 28 66 6f 72 6d 61 74 20 3d 3d | ..............else.if.(format.== |
| 5ae0 | 20 46 6f 72 6d 61 74 49 6e 74 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 | .FormatInt)..............{...... |
| 5b00 | 20 20 20 20 20 20 20 20 20 20 20 20 44 65 62 75 67 2e 41 73 73 65 72 74 28 73 69 7a 65 49 6e 42 | ............Debug.Assert(sizeInB |
| 5b20 | 69 74 73 20 3d 3d 20 33 32 2c 20 22 49 4e 54 20 73 74 61 74 65 20 6d 75 73 74 20 68 61 76 65 20 | its.==.32,."INT.state.must.have. |
| 5b40 | 73 69 7a 65 49 6e 42 69 74 73 3d 33 32 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | sizeInBits=32");................ |
| 5b60 | 20 20 44 65 62 75 67 2e 41 73 73 65 72 74 28 62 69 74 4f 66 66 73 65 74 20 3d 3d 20 30 2c 20 22 | ..Debug.Assert(bitOffset.==.0,." |
| 5b80 | 49 4e 54 20 73 74 61 74 65 20 6d 75 73 74 20 62 65 20 62 79 74 65 2d 61 6c 69 67 6e 65 64 22 29 | INT.state.must.be.byte-aligned") |
| 5ba0 | 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 3d 20 2a 28 69 6e 74 | ;..................value.=.*(int |
| 5bc0 | 2a 29 76 61 6c 75 65 50 74 72 20 2f 20 32 31 34 37 34 38 33 36 34 37 2e 30 66 3b 0d 0a 20 20 20 | *)valuePtr./.2147483647.0f;..... |
| 5be0 | 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. |
| 5c00 | 28 66 6f 72 6d 61 74 20 3d 3d 20 46 6f 72 6d 61 74 55 49 6e 74 29 0d 0a 20 20 20 20 20 20 20 20 | (format.==.FormatUInt).......... |
| 5c20 | 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 44 65 62 75 67 2e 41 73 73 | ....{..................Debug.Ass |
| 5c40 | 65 72 74 28 73 69 7a 65 49 6e 42 69 74 73 20 3d 3d 20 33 32 2c 20 22 55 49 4e 54 20 73 74 61 74 | ert(sizeInBits.==.32,."UINT.stat |
| 5c60 | 65 20 6d 75 73 74 20 68 61 76 65 20 73 69 7a 65 49 6e 42 69 74 73 3d 33 32 22 29 3b 0d 0a 20 20 | e.must.have.sizeInBits=32");.... |
| 5c80 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 44 65 62 75 67 2e 41 73 73 65 72 74 28 62 69 74 4f 66 | ..............Debug.Assert(bitOf |
| 5ca0 | 66 73 65 74 20 3d 3d 20 30 2c 20 22 55 49 4e 54 20 73 74 61 74 65 20 6d 75 73 74 20 62 65 20 62 | fset.==.0,."UINT.state.must.be.b |
| 5cc0 | 79 74 65 2d 61 6c 69 67 6e 65 64 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | yte-aligned");.................. |
| 5ce0 | 76 61 6c 75 65 20 3d 20 2a 28 75 69 6e 74 2a 29 76 61 6c 75 65 50 74 72 20 2f 20 34 32 39 34 39 | value.=.*(uint*)valuePtr./.42949 |
| 5d00 | 36 37 32 39 35 2e 30 66 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 | 67295.0f;..............}........ |
| 5d20 | 20 20 20 20 20 20 65 6c 73 65 20 69 66 20 28 66 6f 72 6d 61 74 20 3d 3d 20 46 6f 72 6d 61 74 44 | ......else.if.(format.==.FormatD |
| 5d40 | 6f 75 62 6c 65 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 | ouble)..............{........... |
| 5d60 | 20 20 20 20 20 20 20 44 65 62 75 67 2e 41 73 73 65 72 74 28 73 69 7a 65 49 6e 42 69 74 73 20 3d | .......Debug.Assert(sizeInBits.= |
| 5d80 | 3d 20 36 34 2c 20 22 44 42 4c 20 73 74 61 74 65 20 6d 75 73 74 20 68 61 76 65 20 73 69 7a 65 49 | =.64,."DBL.state.must.have.sizeI |
| 5da0 | 6e 42 69 74 73 3d 36 34 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 44 65 62 | nBits=64");..................Deb |
| 5dc0 | 75 67 2e 41 73 73 65 72 74 28 62 69 74 4f 66 66 73 65 74 20 3d 3d 20 30 2c 20 22 44 42 4c 20 73 | ug.Assert(bitOffset.==.0,."DBL.s |
| 5de0 | 74 61 74 65 20 6d 75 73 74 20 62 65 20 62 79 74 65 2d 61 6c 69 67 6e 65 64 22 29 3b 0d 0a 20 20 | tate.must.be.byte-aligned");.... |
| 5e00 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 6c 75 65 20 3d 20 28 66 6c 6f 61 74 29 2a 28 64 | ..............value.=.(float)*(d |
| 5e20 | 6f 75 62 6c 65 2a 29 76 61 6c 75 65 50 74 72 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d | ouble*)valuePtr;..............}. |
| 5e40 | 0a 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 20 7b | .............else..............{ |
| 5e60 | 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 49 6e 76 61 | ..................throw.new.Inva |
| 5e80 | 6c 69 64 4f 70 65 72 61 74 69 6f 6e 45 78 63 65 70 74 69 6f 6e 28 24 22 53 74 61 74 65 20 66 6f | lidOperationException($"State.fo |
| 5ea0 | 72 6d 61 74 20 27 7b 66 6f 72 6d 61 74 7d 27 20 69 73 20 6e 6f 74 20 73 75 70 70 6f 72 74 65 64 | rmat.'{format}'.is.not.supported |
| 5ec0 | 20 61 73 20 66 6c 6f 61 74 69 6e 67 2d 70 6f 69 6e 74 20 66 6f 72 6d 61 74 22 29 3b 0d 0a 20 20 | .as.floating-point.format");.... |
| 5ee0 | 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 72 65 74 75 72 | ..........}................retur |
| 5f00 | 6e 20 76 61 6c 75 65 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 | n.value;..........}............p |
| 5f20 | 75 62 6c 69 63 20 76 6f 69 64 20 57 72 69 74 65 46 6c 6f 61 74 28 76 6f 69 64 2a 20 73 74 61 74 | ublic.void.WriteFloat(void*.stat |
| 5f40 | 65 50 74 72 2c 20 66 6c 6f 61 74 20 76 61 6c 75 65 29 0d 0a 20 20 20 20 20 20 20 20 7b 0d 0a 20 | ePtr,.float.value)..........{... |
| 5f60 | 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 76 61 6c 75 65 50 74 72 20 3d 20 28 62 79 74 65 2a | ...........var.valuePtr.=.(byte* |
| 5f80 | 29 73 74 61 74 65 50 74 72 20 2b 20 28 69 6e 74 29 62 79 74 65 4f 66 66 73 65 74 3b 0d 0a 0d 0a | )statePtr.+.(int)byteOffset;.... |
| 5fa0 | 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 66 6f 72 6d 61 74 20 3d 3d 20 46 6f 72 6d 61 74 | ............if.(format.==.Format |
| 5fc0 | 46 6c 6f 61 74 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 | Float)..............{........... |
| 5fe0 | 20 20 20 20 20 20 20 44 65 62 75 67 2e 41 73 73 65 72 74 28 73 69 7a 65 49 6e 42 69 74 73 20 3d | .......Debug.Assert(sizeInBits.= |
| 6000 | 3d 20 33 32 2c 20 22 46 4c 54 20 73 74 61 74 65 20 6d 75 73 74 20 68 61 76 65 20 73 69 7a 65 49 | =.32,."FLT.state.must.have.sizeI |
| 6020 | 6e 42 69 74 73 3d 33 32 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 44 65 62 | nBits=32");..................Deb |
| 6040 | 75 67 2e 41 73 73 65 72 74 28 62 69 74 4f 66 66 73 65 74 20 3d 3d 20 30 2c 20 22 46 4c 54 20 73 | ug.Assert(bitOffset.==.0,."FLT.s |
| 6060 | 74 61 74 65 20 6d 75 73 74 20 62 65 20 62 79 74 65 2d 61 6c 69 67 6e 65 64 22 29 3b 0d 0a 20 20 | tate.must.be.byte-aligned");.... |
| 6080 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a 28 66 6c 6f 61 74 2a 29 76 61 6c 75 65 50 74 72 20 | ..............*(float*)valuePtr. |
| 60a0 | 3d 20 76 61 6c 75 65 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 | =.value;..............}......... |
| 60c0 | 20 20 20 20 20 65 6c 73 65 20 69 66 20 28 66 6f 72 6d 61 74 20 3d 3d 20 46 6f 72 6d 61 74 42 69 | .....else.if.(format.==.FormatBi |
| 60e0 | 74 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 | t)..............{............... |
| 6100 | 20 20 20 69 66 20 28 73 69 7a 65 49 6e 42 69 74 73 20 3d 3d 20 31 29 0d 0a 20 20 20 20 20 20 20 | ...if.(sizeInBits.==.1)......... |
| 6120 | 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 | .........{...................... |
| 6140 | 4d 65 6d 6f 72 79 48 65 6c 70 65 72 73 2e 57 72 69 74 65 53 69 6e 67 6c 65 42 69 74 28 76 61 6c | MemoryHelpers.WriteSingleBit(val |
| 6160 | 75 65 50 74 72 2c 20 62 69 74 4f 66 66 73 65 74 2c 20 76 61 6c 75 65 20 3e 3d 20 30 2e 35 66 29 | uePtr,.bitOffset,.value.>=.0.5f) |
| 6180 | 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 20 | ;..................}............ |
| 61a0 | 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 7b 0d 0a 20 | ......else..................{... |
| 61c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 6d 61 78 56 61 6c 75 65 20 | ...................var.maxValue. |
| 61e0 | 3d 20 28 31 20 3c 3c 20 28 69 6e 74 29 73 69 7a 65 49 6e 42 69 74 73 29 20 2d 20 31 3b 0d 0a 20 | =.(1.<<.(int)sizeInBits).-.1;... |
| 6200 | 20 20 20 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 65 20 | ...................var.intValue. |
| 6220 | 3d 20 28 69 6e 74 29 28 76 61 6c 75 65 20 2a 20 6d 61 78 56 61 6c 75 65 29 3b 0d 0a 20 20 20 20 | =.(int)(value.*.maxValue);...... |
| 6240 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4d 65 6d 6f 72 79 48 65 6c 70 65 72 73 2e 57 72 | ................MemoryHelpers.Wr |
| 6260 | 69 74 65 49 6e 74 46 72 6f 6d 4d 75 6c 74 69 70 6c 65 42 69 74 73 28 76 61 6c 75 65 50 74 72 2c | iteIntFromMultipleBits(valuePtr, |
| 6280 | 20 62 69 74 4f 66 66 73 65 74 2c 20 73 69 7a 65 49 6e 42 69 74 73 2c 20 69 6e 74 56 61 6c 75 65 | .bitOffset,.sizeInBits,.intValue |
| 62a0 | 29 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 | );..................}........... |
| 62c0 | 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 28 66 6f 72 6d 61 | ...}..............else.if.(forma |
| 62e0 | 74 20 3d 3d 20 46 6f 72 6d 61 74 53 68 6f 72 74 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b | t.==.FormatShort)..............{ |
| 6300 | 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 44 65 62 75 67 2e 41 73 73 65 72 74 28 73 | ..................Debug.Assert(s |
| 6320 | 69 7a 65 49 6e 42 69 74 73 20 3d 3d 20 31 36 2c 20 22 53 48 52 54 20 73 74 61 74 65 20 6d 75 73 | izeInBits.==.16,."SHRT.state.mus |
| 6340 | 74 20 68 61 76 65 20 73 69 7a 65 49 6e 42 69 74 73 3d 31 36 22 29 3b 0d 0a 20 20 20 20 20 20 20 | t.have.sizeInBits=16");......... |
| 6360 | 20 20 20 20 20 20 20 20 20 44 65 62 75 67 2e 41 73 73 65 72 74 28 62 69 74 4f 66 66 73 65 74 20 | .........Debug.Assert(bitOffset. |
| 6380 | 3d 3d 20 30 2c 20 22 53 48 52 54 20 73 74 61 74 65 20 6d 75 73 74 20 62 65 20 62 79 74 65 2d 61 | ==.0,."SHRT.state.must.be.byte-a |
| 63a0 | 6c 69 67 6e 65 64 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a 28 73 68 6f | ligned");..................*(sho |
| 63c0 | 72 74 2a 29 76 61 6c 75 65 50 74 72 20 3d 20 28 73 68 6f 72 74 29 28 76 61 6c 75 65 20 2a 20 33 | rt*)valuePtr.=.(short)(value.*.3 |
| 63e0 | 32 37 36 38 2e 30 66 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 | 2768.0f);..............}........ |
| 6400 | 20 20 20 20 20 20 65 6c 73 65 20 69 66 20 28 66 6f 72 6d 61 74 20 3d 3d 20 46 6f 72 6d 61 74 55 | ......else.if.(format.==.FormatU |
| 6420 | 53 68 6f 72 74 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 | Short)..............{........... |
| 6440 | 20 20 20 20 20 20 20 44 65 62 75 67 2e 41 73 73 65 72 74 28 73 69 7a 65 49 6e 42 69 74 73 20 3d | .......Debug.Assert(sizeInBits.= |
| 6460 | 3d 20 31 36 2c 20 22 55 53 48 54 20 73 74 61 74 65 20 6d 75 73 74 20 68 61 76 65 20 73 69 7a 65 | =.16,."USHT.state.must.have.size |
| 6480 | 49 6e 42 69 74 73 3d 31 36 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 44 65 | InBits=16");..................De |
| 64a0 | 62 75 67 2e 41 73 73 65 72 74 28 62 69 74 4f 66 66 73 65 74 20 3d 3d 20 30 2c 20 22 55 53 48 54 | bug.Assert(bitOffset.==.0,."USHT |
| 64c0 | 20 73 74 61 74 65 20 6d 75 73 74 20 62 65 20 62 79 74 65 2d 61 6c 69 67 6e 65 64 22 29 3b 0d 0a | .state.must.be.byte-aligned");.. |
| 64e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a 28 75 73 68 6f 72 74 2a 29 76 61 6c 75 65 50 | ................*(ushort*)valueP |
| 6500 | 74 72 20 3d 20 28 75 73 68 6f 72 74 29 28 76 61 6c 75 65 20 2a 20 36 35 35 33 35 2e 30 66 29 3b | tr.=.(ushort)(value.*.65535.0f); |
| 6520 | 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 65 6c 73 | ..............}..............els |
| 6540 | 65 20 69 66 20 28 66 6f 72 6d 61 74 20 3d 3d 20 46 6f 72 6d 61 74 42 79 74 65 29 0d 0a 20 20 20 | e.if.(format.==.FormatByte)..... |
| 6560 | 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 44 65 62 75 | .........{..................Debu |
| 6580 | 67 2e 41 73 73 65 72 74 28 73 69 7a 65 49 6e 42 69 74 73 20 3d 3d 20 38 2c 20 22 42 59 54 45 20 | g.Assert(sizeInBits.==.8,."BYTE. |
| 65a0 | 73 74 61 74 65 20 6d 75 73 74 20 68 61 76 65 20 73 69 7a 65 49 6e 42 69 74 73 3d 38 22 29 3b 0d | state.must.have.sizeInBits=8");. |
| 65c0 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 44 65 62 75 67 2e 41 73 73 65 72 74 28 62 69 | .................Debug.Assert(bi |
| 65e0 | 74 4f 66 66 73 65 74 20 3d 3d 20 30 2c 20 22 42 59 54 45 20 73 74 61 74 65 20 6d 75 73 74 20 62 | tOffset.==.0,."BYTE.state.must.b |
| 6600 | 65 20 62 79 74 65 2d 61 6c 69 67 6e 65 64 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | e.byte-aligned");............... |
| 6620 | 20 20 20 2a 76 61 6c 75 65 50 74 72 20 3d 20 28 62 79 74 65 29 28 76 61 6c 75 65 20 2a 20 32 35 | ...*valuePtr.=.(byte)(value.*.25 |
| 6640 | 35 2e 30 66 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 20 | 5.0f);..............}........... |
| 6660 | 20 20 20 65 6c 73 65 20 69 66 20 28 66 6f 72 6d 61 74 20 3d 3d 20 46 6f 72 6d 61 74 53 42 79 74 | ...else.if.(format.==.FormatSByt |
| 6680 | 65 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 | e)..............{............... |
| 66a0 | 20 20 20 44 65 62 75 67 2e 41 73 73 65 72 74 28 73 69 7a 65 49 6e 42 69 74 73 20 3d 3d 20 38 2c | ...Debug.Assert(sizeInBits.==.8, |
| 66c0 | 20 22 53 42 59 54 20 73 74 61 74 65 20 6d 75 73 74 20 68 61 76 65 20 73 69 7a 65 49 6e 42 69 74 | ."SBYT.state.must.have.sizeInBit |
| 66e0 | 73 3d 38 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 44 65 62 75 67 2e 41 73 | s=8");..................Debug.As |
| 6700 | 73 65 72 74 28 62 69 74 4f 66 66 73 65 74 20 3d 3d 20 30 2c 20 22 53 42 59 54 20 73 74 61 74 65 | sert(bitOffset.==.0,."SBYT.state |
| 6720 | 20 6d 75 73 74 20 62 65 20 62 79 74 65 2d 61 6c 69 67 6e 65 64 22 29 3b 0d 0a 20 20 20 20 20 20 | .must.be.byte-aligned");........ |
| 6740 | 20 20 20 20 20 20 20 20 20 20 2a 28 73 62 79 74 65 2a 29 76 61 6c 75 65 50 74 72 20 3d 20 28 73 | ..........*(sbyte*)valuePtr.=.(s |
| 6760 | 62 79 74 65 29 28 76 61 6c 75 65 20 2a 20 31 32 38 2e 30 66 29 3b 0d 0a 20 20 20 20 20 20 20 20 | byte)(value.*.128.0f);.......... |
| 6780 | 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 28 66 6f 72 6d | ....}..............else.if.(form |
| 67a0 | 61 74 20 3d 3d 20 46 6f 72 6d 61 74 44 6f 75 62 6c 65 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 | at.==.FormatDouble)............. |
| 67c0 | 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 44 65 62 75 67 2e 41 73 73 65 72 74 | .{..................Debug.Assert |
| 67e0 | 28 73 69 7a 65 49 6e 42 69 74 73 20 3d 3d 20 36 34 2c 20 22 44 42 4c 20 73 74 61 74 65 20 6d 75 | (sizeInBits.==.64,."DBL.state.mu |
| 6800 | 73 74 20 68 61 76 65 20 73 69 7a 65 49 6e 42 69 74 73 3d 36 34 22 29 3b 0d 0a 20 20 20 20 20 20 | st.have.sizeInBits=64");........ |
| 6820 | 20 20 20 20 20 20 20 20 20 20 44 65 62 75 67 2e 41 73 73 65 72 74 28 62 69 74 4f 66 66 73 65 74 | ..........Debug.Assert(bitOffset |
| 6840 | 20 3d 3d 20 30 2c 20 22 44 42 4c 20 73 74 61 74 65 20 6d 75 73 74 20 62 65 20 62 79 74 65 2d 61 | .==.0,."DBL.state.must.be.byte-a |
| 6860 | 6c 69 67 6e 65 64 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a 28 64 6f 75 | ligned");..................*(dou |
| 6880 | 62 6c 65 2a 29 76 61 6c 75 65 50 74 72 20 3d 20 76 61 6c 75 65 3b 0d 0a 20 20 20 20 20 20 20 20 | ble*)valuePtr.=.value;.......... |
| 68a0 | 20 20 20 20 7d 0d 0a 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......... |
| 68c0 | 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 72 6f 77 20 6e 65 | .....{..................throw.ne |
| 68e0 | 77 20 45 78 63 65 70 74 69 6f 6e 28 24 22 53 74 61 74 65 20 66 6f 72 6d 61 74 20 27 7b 66 6f 72 | w.Exception($"State.format.'{for |
| 6900 | 6d 61 74 7d 27 20 69 73 20 6e 6f 74 20 73 75 70 70 6f 72 74 65 64 20 61 73 20 66 6c 6f 61 74 69 | mat}'.is.not.supported.as.floati |
| 6920 | 6e 67 2d 70 6f 69 6e 74 20 66 6f 72 6d 61 74 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 | ng-point.format");.............. |
| 6940 | 7d 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 69 6e 74 65 72 6e 61 6c | }..........}............internal |
| 6960 | 20 50 72 69 6d 69 74 69 76 65 56 61 6c 75 65 20 46 6c 6f 61 74 54 6f 50 72 69 6d 69 74 69 76 65 | .PrimitiveValue.FloatToPrimitive |
| 6980 | 56 61 6c 75 65 28 66 6c 6f 61 74 20 76 61 6c 75 65 29 0d 0a 20 20 20 20 20 20 20 20 7b 0d 0a 20 | Value(float.value)..........{... |
| 69a0 | 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 66 6f 72 6d 61 74 20 3d 3d 20 46 6f 72 6d 61 74 46 | ...........if.(format.==.FormatF |
| 69c0 | 6c 6f 61 74 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 | loat)..............{............ |
| 69e0 | 20 20 20 20 20 20 44 65 62 75 67 2e 41 73 73 65 72 74 28 73 69 7a 65 49 6e 42 69 74 73 20 3d 3d | ......Debug.Assert(sizeInBits.== |
| 6a00 | 20 33 32 2c 20 22 46 4c 54 20 73 74 61 74 65 20 6d 75 73 74 20 68 61 76 65 20 73 69 7a 65 49 6e | .32,."FLT.state.must.have.sizeIn |
| 6a20 | 42 69 74 73 3d 33 32 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 44 65 62 75 | Bits=32");..................Debu |
| 6a40 | 67 2e 41 73 73 65 72 74 28 62 69 74 4f 66 66 73 65 74 20 3d 3d 20 30 2c 20 22 46 4c 54 20 73 74 | g.Assert(bitOffset.==.0,."FLT.st |
| 6a60 | 61 74 65 20 6d 75 73 74 20 62 65 20 62 79 74 65 2d 61 6c 69 67 6e 65 64 22 29 3b 0d 0a 20 20 20 | ate.must.be.byte-aligned");..... |
| 6a80 | 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 76 61 6c 75 65 3b 0d 0a 20 20 20 20 | .............return.value;...... |
| 6aa0 | 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 28 | ........}..............else.if.( |
| 6ac0 | 66 6f 72 6d 61 74 20 3d 3d 20 46 6f 72 6d 61 74 42 69 74 29 0d 0a 20 20 20 20 20 20 20 20 20 20 | format.==.FormatBit)............ |
| 6ae0 | 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 73 69 7a 65 49 6e 42 | ..{..................if.(sizeInB |
| 6b00 | 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 7b 0d 0a 20 20 | its.==.1)..................{.... |
| 6b20 | 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 76 61 6c 75 65 20 3e | ..................return.value.> |
| 6b40 | 3d 20 30 2e 35 66 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 | =.0.5f;..................}...... |
| 6b60 | 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 20 20 20 | ............else................ |
| 6b80 | 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 76 61 72 20 6d 61 78 | ..{......................var.max |
| 6ba0 | 56 61 6c 75 65 20 3d 20 28 31 20 3c 3c 20 28 69 6e 74 29 73 69 7a 65 49 6e 42 69 74 73 29 20 2d | Value.=.(1.<<.(int)sizeInBits).- |
| 6bc0 | 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 72 65 74 75 72 6e 20 | .1;......................return. |
| 6be0 | 28 69 6e 74 29 28 76 61 6c 75 65 20 2a 20 6d 61 78 56 61 6c 75 65 29 3b 0d 0a 20 20 20 20 20 20 | (int)(value.*.maxValue);........ |
| 6c00 | 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 7d 0d 0a 20 20 20 20 | ..........}..............}...... |
| 6c20 | 20 20 20 20 20 20 20 20 65 6c 73 65 20 69 66 20 28 66 6f 72 6d 61 74 20 3d 3d 20 46 6f 72 6d 61 | ........else.if.(format.==.Forma |
| 6c40 | 74 49 6e 74 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 | tInt)..............{............ |
| 6c60 | 20 20 20 20 20 20 44 65 62 75 67 2e 41 73 73 65 72 74 28 73 69 7a 65 49 6e 42 69 74 73 20 3d 3d | ......Debug.Assert(sizeInBits.== |
| 6c80 | 20 33 32 2c 20 22 49 4e 54 20 73 74 61 74 65 20 6d 75 73 74 20 68 61 76 65 20 73 69 7a 65 49 6e | .32,."INT.state.must.have.sizeIn |
| 6ca0 | 42 69 74 73 3d 33 32 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 44 65 62 75 | Bits=32");..................Debu |
| 6cc0 | 67 2e 41 73 73 65 72 74 28 62 69 74 4f 66 66 73 65 74 20 3d 3d 20 30 2c 20 22 49 4e 54 20 73 74 | g.Assert(bitOffset.==.0,."INT.st |
| 6ce0 | 61 74 65 20 6d 75 73 74 20 62 65 20 62 79 74 65 2d 61 6c 69 67 6e 65 64 22 29 3b 0d 0a 20 20 20 | ate.must.be.byte-aligned");..... |
| 6d00 | 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 28 69 6e 74 29 28 76 61 6c 75 65 20 | .............return.(int)(value. |
| 6d20 | 2a 20 32 31 34 37 34 38 33 36 34 37 2e 30 66 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d | *.2147483647.0f);..............} |
| 6d40 | 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 6c 73 65 20 69 66 20 28 66 6f 72 6d 61 74 20 3d 3d | ..............else.if.(format.== |
| 6d60 | 20 46 6f 72 6d 61 74 55 49 6e 74 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 | .FormatUInt)..............{..... |
| 6d80 | 20 20 20 20 20 20 20 20 20 20 20 20 20 44 65 62 75 67 2e 41 73 73 65 72 74 28 73 69 7a 65 49 6e | .............Debug.Assert(sizeIn |
| 6da0 | 42 69 74 73 20 3d 3d 20 33 32 2c 20 22 55 49 4e 54 20 73 74 61 74 65 20 6d 75 73 74 20 68 61 76 | Bits.==.32,."UINT.state.must.hav |
| 6dc0 | 65 20 73 69 7a 65 49 6e 42 69 74 73 3d 33 32 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 | e.sizeInBits=32");.............. |
| 6de0 | 20 20 20 20 44 65 62 75 67 2e 41 73 73 65 72 74 28 62 69 74 4f 66 66 73 65 74 20 3d 3d 20 30 2c | ....Debug.Assert(bitOffset.==.0, |
| 6e00 | 20 22 55 49 4e 54 20 73 74 61 74 65 20 6d 75 73 74 20 62 65 20 62 79 74 65 2d 61 6c 69 67 6e 65 | ."UINT.state.must.be.byte-aligne |
| 6e20 | 64 22 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 28 75 69 | d");..................return.(ui |
| 6e40 | 6e 74 29 28 76 61 6c 75 65 20 2a 20 34 32 39 34 39 36 37 32 39 35 2e 30 66 29 3b 0d 0a 20 20 20 | nt)(value.*.4294967295.0f);..... |
| 6e60 | 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. |
| 6e80 | 28 66 6f 72 6d 61 74 20 3d 3d 20 46 6f 72 6d 61 74 53 68 6f 72 74 29 0d 0a 20 20 20 20 20 20 20 | (format.==.FormatShort)......... |
| 6ea0 | 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 44 65 62 75 67 2e 41 73 | .....{..................Debug.As |
| 6ec0 | 73 65 72 74 28 73 69 7a 65 49 6e 42 69 74 73 20 3d 3d 20 31 36 2c 20 22 53 48 52 54 20 73 74 61 | sert(sizeInBits.==.16,."SHRT.sta |
| 6ee0 | 74 65 20 6d 75 73 74 20 68 61 76 65 20 73 69 7a 65 49 6e 42 69 74 73 3d 31 36 22 29 3b 0d 0a 20 | te.must.have.sizeInBits=16");... |
| 6f00 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 44 65 62 75 67 2e 41 73 73 65 72 74 28 62 69 74 4f | ...............Debug.Assert(bitO |
| 6f20 | 66 66 73 65 74 20 3d 3d 20 30 2c 20 22 53 48 52 54 20 73 74 61 74 65 20 6d 75 73 74 20 62 65 20 | ffset.==.0,."SHRT.state.must.be. |
| 6f40 | 62 79 74 65 2d 61 6c 69 67 6e 65 64 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | byte-aligned");................. |
| 6f60 | 20 72 65 74 75 72 6e 20 28 73 68 6f 72 74 29 28 76 61 6c 75 65 20 2a 20 33 32 37 36 38 2e 30 66 | .return.(short)(value.*.32768.0f |
| 6f80 | 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 20 20 20 20 65 | );..............}..............e |
| 6fa0 | 6c 73 65 20 69 66 20 28 66 6f 72 6d 61 74 20 3d 3d 20 46 6f 72 6d 61 74 55 53 68 6f 72 74 29 0d | lse.if.(format.==.FormatUShort). |
| 6fc0 | 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 20 20 | .............{.................. |
| 6fe0 | 44 65 62 75 67 2e 41 73 73 65 72 74 28 73 69 7a 65 49 6e 42 69 74 73 20 3d 3d 20 31 36 2c 20 22 | Debug.Assert(sizeInBits.==.16,." |
| 7000 | 55 53 48 54 20 73 74 61 74 65 20 6d 75 73 74 20 68 61 76 65 20 73 69 7a 65 49 6e 42 69 74 73 3d | USHT.state.must.have.sizeInBits= |
| 7020 | 31 36 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 44 65 62 75 67 2e 41 73 73 | 16");..................Debug.Ass |
| 7040 | 65 72 74 28 62 69 74 4f 66 66 73 65 74 20 3d 3d 20 30 2c 20 22 55 53 48 54 20 73 74 61 74 65 20 | ert(bitOffset.==.0,."USHT.state. |
| 7060 | 6d 75 73 74 20 62 65 20 62 79 74 65 2d 61 6c 69 67 6e 65 64 22 29 3b 0d 0a 20 20 20 20 20 20 20 | must.be.byte-aligned");......... |
| 7080 | 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 28 75 73 68 6f 72 74 29 28 76 61 6c 75 65 20 2a | .........return.(ushort)(value.* |
| 70a0 | 20 36 35 35 33 35 2e 30 66 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 | .65535.0f);..............}...... |
| 70c0 | 20 20 20 20 20 20 20 20 65 6c 73 65 20 69 66 20 28 66 6f 72 6d 61 74 20 3d 3d 20 46 6f 72 6d 61 | ........else.if.(format.==.Forma |
| 70e0 | 74 42 79 74 65 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 | tByte)..............{........... |
| 7100 | 20 20 20 20 20 20 20 44 65 62 75 67 2e 41 73 73 65 72 74 28 73 69 7a 65 49 6e 42 69 74 73 20 3d | .......Debug.Assert(sizeInBits.= |
| 7120 | 3d 20 38 2c 20 22 42 59 54 45 20 73 74 61 74 65 20 6d 75 73 74 20 68 61 76 65 20 73 69 7a 65 49 | =.8,."BYTE.state.must.have.sizeI |
| 7140 | 6e 42 69 74 73 3d 38 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 44 65 62 75 | nBits=8");..................Debu |
| 7160 | 67 2e 41 73 73 65 72 74 28 62 69 74 4f 66 66 73 65 74 20 3d 3d 20 30 2c 20 22 42 59 54 45 20 73 | g.Assert(bitOffset.==.0,."BYTE.s |
| 7180 | 74 61 74 65 20 6d 75 73 74 20 62 65 20 62 79 74 65 2d 61 6c 69 67 6e 65 64 22 29 3b 0d 0a 20 20 | tate.must.be.byte-aligned");.... |
| 71a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 28 62 79 74 65 29 28 76 61 6c 75 | ..............return.(byte)(valu |
| 71c0 | 65 20 2a 20 32 35 35 2e 30 66 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 | e.*.255.0f);..............}..... |
| 71e0 | 20 20 20 20 20 20 20 20 20 65 6c 73 65 20 69 66 20 28 66 6f 72 6d 61 74 20 3d 3d 20 46 6f 72 6d | .........else.if.(format.==.Form |
| 7200 | 61 74 53 42 79 74 65 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 | atSByte)..............{......... |
| 7220 | 20 20 20 20 20 20 20 20 20 44 65 62 75 67 2e 41 73 73 65 72 74 28 73 69 7a 65 49 6e 42 69 74 73 | .........Debug.Assert(sizeInBits |
| 7240 | 20 3d 3d 20 38 2c 20 22 53 42 59 54 20 73 74 61 74 65 20 6d 75 73 74 20 68 61 76 65 20 73 69 7a | .==.8,."SBYT.state.must.have.siz |
| 7260 | 65 49 6e 42 69 74 73 3d 38 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 44 65 | eInBits=8");..................De |
| 7280 | 62 75 67 2e 41 73 73 65 72 74 28 62 69 74 4f 66 66 73 65 74 20 3d 3d 20 30 2c 20 22 53 42 59 54 | bug.Assert(bitOffset.==.0,."SBYT |
| 72a0 | 20 73 74 61 74 65 20 6d 75 73 74 20 62 65 20 62 79 74 65 2d 61 6c 69 67 6e 65 64 22 29 3b 0d 0a | .state.must.be.byte-aligned");.. |
| 72c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 28 73 62 79 74 65 29 28 76 | ................return.(sbyte)(v |
| 72e0 | 61 6c 75 65 20 2a 20 31 32 38 2e 30 66 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a | alue.*.128.0f);..............}.. |
| 7300 | 20 20 20 20 20 20 20 20 20 20 20 20 65 6c 73 65 20 69 66 20 28 66 6f 72 6d 61 74 20 3d 3d 20 46 | ............else.if.(format.==.F |
| 7320 | 6f 72 6d 61 74 44 6f 75 62 6c 65 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 | ormatDouble)..............{..... |
| 7340 | 20 20 20 20 20 20 20 20 20 20 20 20 20 44 65 62 75 67 2e 41 73 73 65 72 74 28 73 69 7a 65 49 6e | .............Debug.Assert(sizeIn |
| 7360 | 42 69 74 73 20 3d 3d 20 36 34 2c 20 22 44 42 4c 20 73 74 61 74 65 20 6d 75 73 74 20 68 61 76 65 | Bits.==.64,."DBL.state.must.have |
| 7380 | 20 73 69 7a 65 49 6e 42 69 74 73 3d 36 34 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | .sizeInBits=64");............... |
| 73a0 | 20 20 20 44 65 62 75 67 2e 41 73 73 65 72 74 28 62 69 74 4f 66 66 73 65 74 20 3d 3d 20 30 2c 20 | ...Debug.Assert(bitOffset.==.0,. |
| 73c0 | 22 44 42 4c 20 73 74 61 74 65 20 6d 75 73 74 20 62 65 20 62 79 74 65 2d 61 6c 69 67 6e 65 64 22 | "DBL.state.must.be.byte-aligned" |
| 73e0 | 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 65 | );..................return.value |
| 7400 | 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 65 6c | ;..............}..............el |
| 7420 | 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 20 20 | se..............{............... |
| 7440 | 20 20 20 74 68 72 6f 77 20 6e 65 77 20 45 78 63 65 70 74 69 6f 6e 28 24 22 53 74 61 74 65 20 66 | ...throw.new.Exception($"State.f |
| 7460 | 6f 72 6d 61 74 20 27 7b 66 6f 72 6d 61 74 7d 27 20 69 73 20 6e 6f 74 20 73 75 70 70 6f 72 74 65 | ormat.'{format}'.is.not.supporte |
| 7480 | 64 20 61 73 20 66 6c 6f 61 74 69 6e 67 2d 70 6f 69 6e 74 20 66 6f 72 6d 61 74 22 29 3b 0d 0a 20 | d.as.floating-point.format");... |
| 74a0 | 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 20 | ...........}..........}......... |
| 74c0 | 20 20 20 2f 2f 2f 2f 52 45 56 49 45 57 3a 20 54 68 69 73 20 69 73 20 73 6f 6d 65 20 62 61 64 20 | ...////REVIEW:.This.is.some.bad. |
| 74e0 | 63 6f 64 65 20 64 75 70 6c 69 63 61 74 69 6f 6e 20 68 65 72 65 20 62 65 74 77 65 65 6e 20 52 65 | code.duplication.here.between.Re |
| 7500 | 61 64 2f 57 72 69 74 65 46 6c 6f 61 74 26 44 6f 75 62 6c 65 20 62 75 74 20 67 69 76 65 6e 20 74 | ad/WriteFloat&Double.but.given.t |
| 7520 | 68 61 74 20 74 68 65 72 65 27 73 20 6e 6f 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 2f 20 20 20 20 | hat.there's.no..........////.... |
| 7540 | 20 20 20 20 77 61 79 20 74 6f 20 75 73 65 20 61 20 74 79 70 65 20 61 72 67 75 6d 65 6e 74 20 68 | ....way.to.use.a.type.argument.h |
| 7560 | 65 72 65 2c 20 6e 6f 74 20 73 75 72 65 20 68 6f 77 20 74 6f 20 67 65 74 20 72 69 64 20 6f 66 20 | ere,.not.sure.how.to.get.rid.of. |
| 7580 | 69 74 2e 0d 0a 0d 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 64 6f 75 62 6c 65 20 52 65 61 | it.............public.double.Rea |
| 75a0 | 64 44 6f 75 62 6c 65 28 76 6f 69 64 2a 20 73 74 61 74 65 50 74 72 29 0d 0a 20 20 20 20 20 20 20 | dDouble(void*.statePtr)......... |
| 75c0 | 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 44 65 62 75 67 2e 41 73 73 65 72 74 28 73 69 7a | .{..............Debug.Assert(siz |
| 75e0 | 65 49 6e 42 69 74 73 20 21 3d 20 30 29 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 | eInBits.!=.0);................va |
| 7600 | 72 20 76 61 6c 75 65 50 74 72 20 3d 20 28 62 79 74 65 2a 29 73 74 61 74 65 50 74 72 20 2b 20 28 | r.valuePtr.=.(byte*)statePtr.+.( |
| 7620 | 69 6e 74 29 62 79 74 65 4f 66 66 73 65 74 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 64 | int)byteOffset;................d |
| 7640 | 6f 75 62 6c 65 20 76 61 6c 75 65 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 66 6f | ouble.value;..............if.(fo |
| 7660 | 72 6d 61 74 20 3d 3d 20 46 6f 72 6d 61 74 46 6c 6f 61 74 29 0d 0a 20 20 20 20 20 20 20 20 20 20 | rmat.==.FormatFloat)............ |
| 7680 | 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 44 65 62 75 67 2e 41 73 73 65 72 | ..{..................Debug.Asser |
| 76a0 | 74 28 73 69 7a 65 49 6e 42 69 74 73 20 3d 3d 20 33 32 2c 20 22 46 4c 54 20 73 74 61 74 65 20 6d | t(sizeInBits.==.32,."FLT.state.m |
| 76c0 | 75 73 74 20 68 61 76 65 20 73 69 7a 65 49 6e 42 69 74 73 3d 33 32 22 29 3b 0d 0a 20 20 20 20 20 | ust.have.sizeInBits=32");....... |
| 76e0 | 20 20 20 20 20 20 20 20 20 20 20 44 65 62 75 67 2e 41 73 73 65 72 74 28 62 69 74 4f 66 66 73 65 | ...........Debug.Assert(bitOffse |
| 7700 | 74 20 3d 3d 20 30 2c 20 22 46 4c 54 20 73 74 61 74 65 20 6d 75 73 74 20 62 65 20 62 79 74 65 2d | t.==.0,."FLT.state.must.be.byte- |
| 7720 | 61 6c 69 67 6e 65 64 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 6c 75 | aligned");..................valu |
| 7740 | 65 20 3d 20 2a 28 66 6c 6f 61 74 2a 29 76 61 6c 75 65 50 74 72 3b 0d 0a 20 20 20 20 20 20 20 20 | e.=.*(float*)valuePtr;.......... |
| 7760 | 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 28 66 6f 72 6d | ....}..............else.if.(form |
| 7780 | 61 74 20 3d 3d 20 46 6f 72 6d 61 74 42 69 74 20 7c 7c 20 66 6f 72 6d 61 74 20 3d 3d 20 46 6f 72 | at.==.FormatBit.||.format.==.For |
| 77a0 | 6d 61 74 53 42 69 74 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 | matSBit)..............{......... |
| 77c0 | 20 20 20 20 20 20 20 20 20 69 66 20 28 73 69 7a 65 49 6e 42 69 74 73 20 3d 3d 20 31 29 0d 0a 20 | .........if.(sizeInBits.==.1)... |
| 77e0 | 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 20 20 20 | ...............{................ |
| 7800 | 20 20 20 20 20 20 76 61 6c 75 65 20 3d 20 4d 65 6d 6f 72 79 48 65 6c 70 65 72 73 2e 52 65 61 64 | ......value.=.MemoryHelpers.Read |
| 7820 | 53 69 6e 67 6c 65 42 69 74 28 76 61 6c 75 65 50 74 72 2c 20 62 69 74 4f 66 66 73 65 74 29 20 3f | SingleBit(valuePtr,.bitOffset).? |
| 7840 | 20 31 2e 30 66 20 3a 20 28 66 6f 72 6d 61 74 20 3d 3d 20 46 6f 72 6d 61 74 53 42 69 74 20 3f 20 | .1.0f.:.(format.==.FormatSBit.?. |
| 7860 | 2d 31 2e 30 66 20 3a 20 30 2e 30 66 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | -1.0f.:.0.0f);.................. |
| 7880 | 7d 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 6c 73 65 20 69 66 20 28 73 69 7a 65 | }..................else.if.(size |
| 78a0 | 49 6e 42 69 74 73 20 21 3d 20 33 31 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b | InBits.!=.31)..................{ |
| 78c0 | 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 6d 61 78 56 61 6c | ......................var.maxVal |
| 78e0 | 75 65 20 3d 20 28 66 6c 6f 61 74 29 28 31 20 3c 3c 20 28 69 6e 74 29 73 69 7a 65 49 6e 42 69 74 | ue.=.(float)(1.<<.(int)sizeInBit |
| 7900 | 73 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 72 61 77 | s);......................var.raw |
| 7920 | 56 61 6c 75 65 20 3d 20 28 66 6c 6f 61 74 29 28 4d 65 6d 6f 72 79 48 65 6c 70 65 72 73 2e 52 65 | Value.=.(float)(MemoryHelpers.Re |
| 7940 | 61 64 49 6e 74 46 72 6f 6d 4d 75 6c 74 69 70 6c 65 42 69 74 73 28 76 61 6c 75 65 50 74 72 2c 20 | adIntFromMultipleBits(valuePtr,. |
| 7960 | 62 69 74 4f 66 66 73 65 74 2c 20 73 69 7a 65 49 6e 42 69 74 73 29 29 3b 0d 0a 20 20 20 20 20 20 | bitOffset,.sizeInBits));........ |
| 7980 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 66 6f 72 6d 61 74 20 3d 3d 20 46 6f 72 6d | ..............if.(format.==.Form |
| 79a0 | 61 74 53 42 69 74 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a | atSBit)......................{.. |
| 79c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 75 6e 63 6c | ........................var.uncl |
| 79e0 | 61 6d 70 65 64 56 61 6c 75 65 20 3d 20 28 28 28 72 61 77 56 61 6c 75 65 20 2f 20 6d 61 78 56 61 | ampedValue.=.(((rawValue./.maxVa |
| 7a00 | 6c 75 65 29 20 2a 20 32 2e 30 66 29 20 2d 20 31 2e 30 66 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 | lue).*.2.0f).-.1.0f);........... |
| 7a20 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 6c 75 65 20 3d 20 4d 61 74 68 66 2e 43 6c 61 | ...............value.=.Mathf.Cla |
| 7a40 | 6d 70 28 75 6e 63 6c 61 6d 70 65 64 56 61 6c 75 65 2c 20 2d 31 2e 30 66 2c 20 31 2e 30 66 29 3b | mp(unclampedValue,.-1.0f,.1.0f); |
| 7a60 | 0d 0a 20 20 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 | ......................}......... |
| 7a80 | 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 20 20 | .............else............... |
| 7aa0 | 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 20 20 | .......{........................ |
| 7ac0 | 20 20 76 61 6c 75 65 20 3d 20 4d 61 74 68 66 2e 43 6c 61 6d 70 28 72 61 77 56 61 6c 75 65 20 2f | ..value.=.Mathf.Clamp(rawValue./ |
| 7ae0 | 20 6d 61 78 56 61 6c 75 65 2c 20 30 2e 30 66 2c 20 31 2e 30 66 29 3b 0d 0a 20 20 20 20 20 20 20 | .maxValue,.0.0f,.1.0f);......... |
| 7b00 | 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 20 20 20 20 20 | .............}.................. |
| 7b20 | 7d 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......... |
| 7b40 | 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 | .........{...................... |
| 7b60 | 74 68 72 6f 77 20 6e 65 77 20 4e 6f 74 49 6d 70 6c 65 6d 65 6e 74 65 64 45 78 63 65 70 74 69 6f | throw.new.NotImplementedExceptio |
| 7b80 | 6e 28 22 43 61 6e 6e 6f 74 20 79 65 74 20 63 6f 6e 76 65 72 74 20 6d 75 6c 74 69 2d 62 69 74 20 | n("Cannot.yet.convert.multi-bit. |
| 7ba0 | 66 69 65 6c 64 73 20 67 72 65 61 74 65 72 20 74 68 61 6e 20 33 31 20 62 69 74 73 20 74 6f 20 66 | fields.greater.than.31.bits.to.f |
| 7bc0 | 6c 6f 61 74 73 22 29 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 | loats");..................}..... |
| 7be0 | 20 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 49 66 20 61 20 | .........}..............//.If.a. |
| 7c00 | 63 6f 6e 74 72 6f 6c 20 77 69 74 68 20 61 6e 20 69 6e 74 65 67 65 72 2d 62 61 73 65 64 20 72 65 | control.with.an.integer-based.re |
| 7c20 | 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 64 6f 65 73 20 6e 6f 74 20 75 73 65 20 74 68 65 20 66 75 | presentation.does.not.use.the.fu |
| 7c40 | 6c 6c 20 72 61 6e 67 65 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 6f 66 20 69 74 73 20 | ll.range..............//.of.its. |
| 7c60 | 69 6e 74 65 67 65 72 20 73 69 7a 65 20 28 65 2e 67 2e 20 6f 6e 6c 79 20 67 6f 65 73 20 66 72 6f | integer.size.(e.g..only.goes.fro |
| 7c80 | 6d 20 5b 30 2e 2e 31 32 38 5d 29 2c 20 70 72 6f 63 65 73 73 6f 72 73 20 6f 72 20 74 68 65 20 70 | m.[0..128]),.processors.or.the.p |
| 7ca0 | 61 72 61 6d 65 74 65 72 73 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 61 62 6f 76 65 20 | arameters..............//.above. |
| 7cc0 | 68 61 76 65 20 74 6f 20 62 65 20 75 73 65 64 20 74 6f 20 72 65 2d 70 72 6f 63 65 73 73 20 74 68 | have.to.be.used.to.re-process.th |
| 7ce0 | 65 20 72 65 73 75 6c 74 69 6e 67 20 66 6c 6f 61 74 20 76 61 6c 75 65 73 2e 0d 0a 20 20 20 20 20 | e.resulting.float.values........ |
| 7d00 | 20 20 20 20 20 20 20 65 6c 73 65 20 69 66 20 28 66 6f 72 6d 61 74 20 3d 3d 20 46 6f 72 6d 61 74 | .......else.if.(format.==.Format |
| 7d20 | 53 68 6f 72 74 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 | Short)..............{........... |
| 7d40 | 20 20 20 20 20 20 20 44 65 62 75 67 2e 41 73 73 65 72 74 28 73 69 7a 65 49 6e 42 69 74 73 20 3d | .......Debug.Assert(sizeInBits.= |
| 7d60 | 3d 20 31 36 2c 20 22 53 48 52 54 20 73 74 61 74 65 20 6d 75 73 74 20 68 61 76 65 20 73 69 7a 65 | =.16,."SHRT.state.must.have.size |
| 7d80 | 49 6e 42 69 74 73 3d 31 36 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 44 65 | InBits=16");..................De |
| 7da0 | 62 75 67 2e 41 73 73 65 72 74 28 62 69 74 4f 66 66 73 65 74 20 3d 3d 20 30 2c 20 22 53 48 52 54 | bug.Assert(bitOffset.==.0,."SHRT |
| 7dc0 | 20 73 74 61 74 65 20 6d 75 73 74 20 62 65 20 62 79 74 65 2d 61 6c 69 67 6e 65 64 22 29 3b 0d 0a | .state.must.be.byte-aligned");.. |
| 7de0 | 20 20 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 57 68 61 74 | ................////REVIEW:.What |
| 7e00 | 27 73 20 62 65 74 74 65 72 20 68 65 72 65 3f 20 54 68 69 73 20 63 6f 64 65 20 72 65 61 63 68 65 | 's.better.here?.This.code.reache |
| 7e20 | 73 20 61 20 63 6c 65 61 6e 20 2d 31 20 62 75 74 20 64 6f 65 73 6e 27 74 20 72 65 61 63 68 20 61 | s.a.clean.-1.but.doesn't.reach.a |
| 7e40 | 20 63 6c 65 61 6e 20 2b 31 20 61 73 20 74 68 65 20 72 61 6e 67 65 20 69 73 20 5b 2d 33 32 37 36 | .clean.+1.as.the.range.is.[-3276 |
| 7e60 | 38 2e 2e 33 32 37 36 37 5d 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f 2f | 8..32767]...................//// |
| 7e80 | 20 20 20 20 20 20 20 20 53 68 6f 75 6c 64 20 77 65 20 63 75 74 20 6f 66 66 20 61 74 20 2d 33 32 | ........Should.we.cut.off.at.-32 |
| 7ea0 | 37 36 37 3f 20 4f 72 20 6a 75 73 74 20 6c 69 76 65 20 77 69 74 68 20 74 68 65 20 66 61 63 74 20 | 767?.Or.just.live.with.the.fact. |
| 7ec0 | 74 68 61 74 20 30 2e 39 39 39 20 69 73 20 61 73 20 68 69 67 68 20 61 73 20 69 74 20 67 65 74 73 | that.0.999.is.as.high.as.it.gets |
| 7ee0 | 3f 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 6c 75 65 20 3d 20 2a 28 73 68 6f | ?..................value.=.*(sho |
| 7f00 | 72 74 2a 29 76 61 6c 75 65 50 74 72 20 2f 20 33 32 37 36 38 2e 30 66 3b 0d 0a 20 20 20 20 20 20 | rt*)valuePtr./.32768.0f;........ |
| 7f20 | 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 28 66 6f | ......}..............else.if.(fo |
| 7f40 | 72 6d 61 74 20 3d 3d 20 46 6f 72 6d 61 74 55 53 68 6f 72 74 29 0d 0a 20 20 20 20 20 20 20 20 20 | rmat.==.FormatUShort)........... |
| 7f60 | 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 44 65 62 75 67 2e 41 73 73 65 | ...{..................Debug.Asse |
| 7f80 | 72 74 28 73 69 7a 65 49 6e 42 69 74 73 20 3d 3d 20 31 36 2c 20 22 55 53 48 54 20 73 74 61 74 65 | rt(sizeInBits.==.16,."USHT.state |
| 7fa0 | 20 6d 75 73 74 20 68 61 76 65 20 73 69 7a 65 49 6e 42 69 74 73 3d 31 36 22 29 3b 0d 0a 20 20 20 | .must.have.sizeInBits=16");..... |
| 7fc0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 44 65 62 75 67 2e 41 73 73 65 72 74 28 62 69 74 4f 66 66 | .............Debug.Assert(bitOff |
| 7fe0 | 73 65 74 20 3d 3d 20 30 2c 20 22 55 53 48 54 20 73 74 61 74 65 20 6d 75 73 74 20 62 65 20 62 79 | set.==.0,."USHT.state.must.be.by |
| 8000 | 74 65 2d 61 6c 69 67 6e 65 64 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 | te-aligned");..................v |
| 8020 | 61 6c 75 65 20 3d 20 2a 28 75 73 68 6f 72 74 2a 29 76 61 6c 75 65 50 74 72 20 2f 20 36 35 35 33 | alue.=.*(ushort*)valuePtr./.6553 |
| 8040 | 35 2e 30 66 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 | 5.0f;..............}............ |
| 8060 | 20 20 65 6c 73 65 20 69 66 20 28 66 6f 72 6d 61 74 20 3d 3d 20 46 6f 72 6d 61 74 42 79 74 65 29 | ..else.if.(format.==.FormatByte) |
| 8080 | 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 20 | ..............{................. |
| 80a0 | 20 44 65 62 75 67 2e 41 73 73 65 72 74 28 73 69 7a 65 49 6e 42 69 74 73 20 3d 3d 20 38 2c 20 22 | .Debug.Assert(sizeInBits.==.8,." |
| 80c0 | 42 59 54 45 20 73 74 61 74 65 20 6d 75 73 74 20 68 61 76 65 20 73 69 7a 65 49 6e 42 69 74 73 3d | BYTE.state.must.have.sizeInBits= |
| 80e0 | 38 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 44 65 62 75 67 2e 41 73 73 65 | 8");..................Debug.Asse |
| 8100 | 72 74 28 62 69 74 4f 66 66 73 65 74 20 3d 3d 20 30 2c 20 22 42 59 54 45 20 73 74 61 74 65 20 6d | rt(bitOffset.==.0,."BYTE.state.m |
| 8120 | 75 73 74 20 62 65 20 62 79 74 65 2d 61 6c 69 67 6e 65 64 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 | ust.be.byte-aligned");.......... |
| 8140 | 20 20 20 20 20 20 20 20 76 61 6c 75 65 20 3d 20 2a 76 61 6c 75 65 50 74 72 20 2f 20 32 35 35 2e | ........value.=.*valuePtr./.255. |
| 8160 | 30 66 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 | 0f;..............}.............. |
| 8180 | 65 6c 73 65 20 69 66 20 28 66 6f 72 6d 61 74 20 3d 3d 20 46 6f 72 6d 61 74 53 42 79 74 65 29 0d | else.if.(format.==.FormatSByte). |
| 81a0 | 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 20 20 | .............{.................. |
| 81c0 | 44 65 62 75 67 2e 41 73 73 65 72 74 28 73 69 7a 65 49 6e 42 69 74 73 20 3d 3d 20 38 2c 20 22 53 | Debug.Assert(sizeInBits.==.8,."S |
| 81e0 | 42 59 54 20 73 74 61 74 65 20 6d 75 73 74 20 68 61 76 65 20 73 69 7a 65 49 6e 42 69 74 73 3d 38 | BYT.state.must.have.sizeInBits=8 |
| 8200 | 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 44 65 62 75 67 2e 41 73 73 65 72 | ");..................Debug.Asser |
| 8220 | 74 28 62 69 74 4f 66 66 73 65 74 20 3d 3d 20 30 2c 20 22 53 42 59 54 20 73 74 61 74 65 20 6d 75 | t(bitOffset.==.0,."SBYT.state.mu |
| 8240 | 73 74 20 62 65 20 62 79 74 65 2d 61 6c 69 67 6e 65 64 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 | st.be.byte-aligned");........... |
| 8260 | 20 20 20 20 20 20 20 2f 2f 2f 2f 52 45 56 49 45 57 3a 20 53 61 6d 65 20 70 72 6f 62 6c 65 6d 20 | .......////REVIEW:.Same.problem. |
| 8280 | 68 65 72 65 20 61 73 20 77 69 74 68 20 27 73 68 6f 72 74 27 0d 0a 20 20 20 20 20 20 20 20 20 20 | here.as.with.'short'............ |
| 82a0 | 20 20 20 20 20 20 76 61 6c 75 65 20 3d 20 2a 28 73 62 79 74 65 2a 29 76 61 6c 75 65 50 74 72 20 | ......value.=.*(sbyte*)valuePtr. |
| 82c0 | 2f 20 31 32 38 2e 30 66 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 | /.128.0f;..............}........ |
| 82e0 | 20 20 20 20 20 20 65 6c 73 65 20 69 66 20 28 66 6f 72 6d 61 74 20 3d 3d 20 46 6f 72 6d 61 74 49 | ......else.if.(format.==.FormatI |
| 8300 | 6e 74 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 | nt)..............{.............. |
| 8320 | 20 20 20 20 44 65 62 75 67 2e 41 73 73 65 72 74 28 73 69 7a 65 49 6e 42 69 74 73 20 3d 3d 20 33 | ....Debug.Assert(sizeInBits.==.3 |
| 8340 | 32 2c 20 22 49 4e 54 20 73 74 61 74 65 20 6d 75 73 74 20 68 61 76 65 20 73 69 7a 65 49 6e 42 69 | 2,."INT.state.must.have.sizeInBi |
| 8360 | 74 73 3d 33 32 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 44 65 62 75 67 2e | ts=32");..................Debug. |
| 8380 | 41 73 73 65 72 74 28 62 69 74 4f 66 66 73 65 74 20 3d 3d 20 30 2c 20 22 49 4e 54 20 73 74 61 74 | Assert(bitOffset.==.0,."INT.stat |
| 83a0 | 65 20 6d 75 73 74 20 62 65 20 62 79 74 65 2d 61 6c 69 67 6e 65 64 22 29 3b 0d 0a 20 20 20 20 20 | e.must.be.byte-aligned");....... |
| 83c0 | 20 20 20 20 20 20 20 20 20 20 20 76 61 6c 75 65 20 3d 20 2a 28 49 6e 74 33 32 2a 29 76 61 6c 75 | ...........value.=.*(Int32*)valu |
| 83e0 | 65 50 74 72 20 2f 20 32 31 34 37 34 38 33 36 34 37 2e 30 66 3b 0d 0a 20 20 20 20 20 20 20 20 20 | ePtr./.2147483647.0f;........... |
| 8400 | 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 28 66 6f 72 6d 61 | ...}..............else.if.(forma |
| 8420 | 74 20 3d 3d 20 46 6f 72 6d 61 74 55 49 6e 74 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d | t.==.FormatUInt)..............{. |
| 8440 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 44 65 62 75 67 2e 41 73 73 65 72 74 28 73 69 | .................Debug.Assert(si |
| 8460 | 7a 65 49 6e 42 69 74 73 20 3d 3d 20 33 32 2c 20 22 55 49 4e 54 20 73 74 61 74 65 20 6d 75 73 74 | zeInBits.==.32,."UINT.state.must |
| 8480 | 20 68 61 76 65 20 73 69 7a 65 49 6e 42 69 74 73 3d 33 32 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 | .have.sizeInBits=32");.......... |
| 84a0 | 20 20 20 20 20 20 20 20 44 65 62 75 67 2e 41 73 73 65 72 74 28 62 69 74 4f 66 66 73 65 74 20 3d | ........Debug.Assert(bitOffset.= |
| 84c0 | 3d 20 30 2c 20 22 55 49 4e 54 20 73 74 61 74 65 20 6d 75 73 74 20 62 65 20 62 79 74 65 2d 61 6c | =.0,."UINT.state.must.be.byte-al |
| 84e0 | 69 67 6e 65 64 22 29 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 | igned");..................value. |
| 8500 | 3d 20 2a 28 55 49 6e 74 33 32 2a 29 76 61 6c 75 65 50 74 72 20 2f 20 34 32 39 34 39 36 37 32 39 | =.*(UInt32*)valuePtr./.429496729 |
| 8520 | 35 2e 30 66 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 | 5.0f;..............}............ |
| 8540 | 20 20 65 6c 73 65 20 69 66 20 28 66 6f 72 6d 61 74 20 3d 3d 20 46 6f 72 6d 61 74 44 6f 75 62 6c | ..else.if.(format.==.FormatDoubl |
| 8560 | 65 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 | e)..............{............... |
| 8580 | 20 20 20 44 65 62 75 67 2e 41 73 73 65 72 74 28 73 69 7a 65 49 6e 42 69 74 73 20 3d 3d 20 36 34 | ...Debug.Assert(sizeInBits.==.64 |
| 85a0 | 2c 20 22 44 42 4c 20 73 74 61 74 65 20 6d 75 73 74 20 68 61 76 65 20 73 69 7a 65 49 6e 42 69 74 | ,."DBL.state.must.have.sizeInBit |
| 85c0 | 73 3d 36 34 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 44 65 62 75 67 2e 41 | s=64");..................Debug.A |
| 85e0 | 73 73 65 72 74 28 62 69 74 4f 66 66 73 65 74 20 3d 3d 20 30 2c 20 22 44 42 4c 20 73 74 61 74 65 | ssert(bitOffset.==.0,."DBL.state |
| 8600 | 20 6d 75 73 74 20 62 65 20 62 79 74 65 2d 61 6c 69 67 6e 65 64 22 29 3b 0d 0a 20 20 20 20 20 20 | .must.be.byte-aligned");........ |
| 8620 | 20 20 20 20 20 20 20 20 20 20 76 61 6c 75 65 20 3d 20 2a 28 64 6f 75 62 6c 65 2a 29 76 61 6c 75 | ..........value.=.*(double*)valu |
| 8640 | 65 50 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 | ePtr;..............}............ |
| 8660 | 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 20 20 | ..else..............{........... |
| 8680 | 20 20 20 20 20 20 20 74 68 72 6f 77 20 6e 65 77 20 45 78 63 65 70 74 69 6f 6e 28 24 22 53 74 61 | .......throw.new.Exception($"Sta |
| 86a0 | 74 65 20 66 6f 72 6d 61 74 20 27 7b 66 6f 72 6d 61 74 7d 27 20 69 73 20 6e 6f 74 20 73 75 70 70 | te.format.'{format}'.is.not.supp |
| 86c0 | 6f 72 74 65 64 20 61 73 20 66 6c 6f 61 74 69 6e 67 2d 70 6f 69 6e 74 20 66 6f 72 6d 61 74 22 29 | orted.as.floating-point.format") |
| 86e0 | 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 20 20 20 20 | ;..............}................ |
| 8700 | 72 65 74 75 72 6e 20 76 61 6c 75 65 3b 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 | return.value;..........}........ |
| 8720 | 20 20 20 20 70 75 62 6c 69 63 20 76 6f 69 64 20 57 72 69 74 65 44 6f 75 62 6c 65 28 76 6f 69 64 | ....public.void.WriteDouble(void |
| 8740 | 2a 20 73 74 61 74 65 50 74 72 2c 20 64 6f 75 62 6c 65 20 76 61 6c 75 65 29 0d 0a 20 20 20 20 20 | *.statePtr,.double.value)....... |
| 8760 | 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 76 61 6c 75 65 50 74 72 20 3d | ...{..............var.valuePtr.= |
| 8780 | 20 28 62 79 74 65 2a 29 73 74 61 74 65 50 74 72 20 2b 20 28 69 6e 74 29 62 79 74 65 4f 66 66 73 | .(byte*)statePtr.+.(int)byteOffs |
| 87a0 | 65 74 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 66 6f 72 6d 61 74 20 3d 3d | et;................if.(format.== |
| 87c0 | 20 46 6f 72 6d 61 74 46 6c 6f 61 74 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 | .FormatFloat)..............{.... |
| 87e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 44 65 62 75 67 2e 41 73 73 65 72 74 28 73 69 7a 65 49 | ..............Debug.Assert(sizeI |
| 8800 | 6e 42 69 74 73 20 3d 3d 20 33 32 2c 20 22 46 4c 54 20 73 74 61 74 65 20 6d 75 73 74 20 68 61 76 | nBits.==.32,."FLT.state.must.hav |
| 8820 | 65 20 73 69 7a 65 49 6e 42 69 74 73 3d 33 32 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 | e.sizeInBits=32");.............. |
| 8840 | 20 20 20 20 44 65 62 75 67 2e 41 73 73 65 72 74 28 62 69 74 4f 66 66 73 65 74 20 3d 3d 20 30 2c | ....Debug.Assert(bitOffset.==.0, |
| 8860 | 20 22 46 4c 54 20 73 74 61 74 65 20 6d 75 73 74 20 62 65 20 62 79 74 65 2d 61 6c 69 67 6e 65 64 | ."FLT.state.must.be.byte-aligned |
| 8880 | 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a 28 66 6c 6f 61 74 2a 29 76 61 | ");..................*(float*)va |
| 88a0 | 6c 75 65 50 74 72 20 3d 20 28 66 6c 6f 61 74 29 76 61 6c 75 65 3b 0d 0a 20 20 20 20 20 20 20 20 | luePtr.=.(float)value;.......... |
| 88c0 | 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 28 66 6f 72 6d | ....}..............else.if.(form |
| 88e0 | 61 74 20 3d 3d 20 46 6f 72 6d 61 74 42 69 74 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d | at.==.FormatBit)..............{. |
| 8900 | 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 49 6e 42 69 74 73 20 | .................if.(sizeInBits. |
| 8920 | 3d 3d 20 31 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 | ==.1)..................{........ |
| 8940 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4d 65 6d 6f 72 79 48 65 6c 70 65 72 73 2e 57 72 69 74 | ..............MemoryHelpers.Writ |
| 8960 | 65 53 69 6e 67 6c 65 42 69 74 28 76 61 6c 75 65 50 74 72 2c 20 62 69 74 4f 66 66 73 65 74 2c 20 | eSingleBit(valuePtr,.bitOffset,. |
| 8980 | 76 61 6c 75 65 20 3e 3d 20 30 2e 35 66 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | value.>=.0.5f);................. |
| 89a0 | 20 7d 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 | .}..................else........ |
| 89c0 | 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 20 20 | ..........{..................... |
| 89e0 | 20 76 61 72 20 6d 61 78 56 61 6c 75 65 20 3d 20 28 31 20 3c 3c 20 28 69 6e 74 29 73 69 7a 65 49 | .var.maxValue.=.(1.<<.(int)sizeI |
| 8a00 | 6e 42 69 74 73 29 20 2d 20 31 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | nBits).-.1;..................... |
| 8a20 | 20 76 61 72 20 69 6e 74 56 61 6c 75 65 20 3d 20 28 69 6e 74 29 28 76 61 6c 75 65 20 2a 20 6d 61 | .var.intValue.=.(int)(value.*.ma |
| 8a40 | 78 56 61 6c 75 65 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4d 65 | xValue);......................Me |
| 8a60 | 6d 6f 72 79 48 65 6c 70 65 72 73 2e 57 72 69 74 65 49 6e 74 46 72 6f 6d 4d 75 6c 74 69 70 6c 65 | moryHelpers.WriteIntFromMultiple |
| 8a80 | 42 69 74 73 28 76 61 6c 75 65 50 74 72 2c 20 62 69 74 4f 66 66 73 65 74 2c 20 73 69 7a 65 49 6e | Bits(valuePtr,.bitOffset,.sizeIn |
| 8aa0 | 42 69 74 73 2c 20 69 6e 74 56 61 6c 75 65 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | Bits,.intValue);................ |
| 8ac0 | 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 20 20 20 20 20 20 | ..}..............}.............. |
| 8ae0 | 65 6c 73 65 20 69 66 20 28 66 6f 72 6d 61 74 20 3d 3d 20 46 6f 72 6d 61 74 53 68 6f 72 74 29 0d | else.if.(format.==.FormatShort). |
| 8b00 | 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 20 20 | .............{.................. |
| 8b20 | 44 65 62 75 67 2e 41 73 73 65 72 74 28 73 69 7a 65 49 6e 42 69 74 73 20 3d 3d 20 31 36 2c 20 22 | Debug.Assert(sizeInBits.==.16,." |
| 8b40 | 53 48 52 54 20 73 74 61 74 65 20 6d 75 73 74 20 68 61 76 65 20 73 69 7a 65 49 6e 42 69 74 73 3d | SHRT.state.must.have.sizeInBits= |
| 8b60 | 31 36 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 44 65 62 75 67 2e 41 73 73 | 16");..................Debug.Ass |
| 8b80 | 65 72 74 28 62 69 74 4f 66 66 73 65 74 20 3d 3d 20 30 2c 20 22 53 48 52 54 20 73 74 61 74 65 20 | ert(bitOffset.==.0,."SHRT.state. |
| 8ba0 | 6d 75 73 74 20 62 65 20 62 79 74 65 2d 61 6c 69 67 6e 65 64 22 29 3b 0d 0a 20 20 20 20 20 20 20 | must.be.byte-aligned");......... |
| 8bc0 | 20 20 20 20 20 20 20 20 20 2a 28 73 68 6f 72 74 2a 29 76 61 6c 75 65 50 74 72 20 3d 20 28 73 68 | .........*(short*)valuePtr.=.(sh |
| 8be0 | 6f 72 74 29 28 76 61 6c 75 65 20 2a 20 33 32 37 36 38 2e 30 66 29 3b 0d 0a 20 20 20 20 20 20 20 | ort)(value.*.32768.0f);......... |
| 8c00 | 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 28 66 6f 72 | .....}..............else.if.(for |
| 8c20 | 6d 61 74 20 3d 3d 20 46 6f 72 6d 61 74 55 53 68 6f 72 74 29 0d 0a 20 20 20 20 20 20 20 20 20 20 | mat.==.FormatUShort)............ |
| 8c40 | 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 44 65 62 75 67 2e 41 73 73 65 72 | ..{..................Debug.Asser |
| 8c60 | 74 28 73 69 7a 65 49 6e 42 69 74 73 20 3d 3d 20 31 36 2c 20 22 55 53 48 54 20 73 74 61 74 65 20 | t(sizeInBits.==.16,."USHT.state. |
| 8c80 | 6d 75 73 74 20 68 61 76 65 20 73 69 7a 65 49 6e 42 69 74 73 3d 31 36 22 29 3b 0d 0a 20 20 20 20 | must.have.sizeInBits=16");...... |
| 8ca0 | 20 20 20 20 20 20 20 20 20 20 20 20 44 65 62 75 67 2e 41 73 73 65 72 74 28 62 69 74 4f 66 66 73 | ............Debug.Assert(bitOffs |
| 8cc0 | 65 74 20 3d 3d 20 30 2c 20 22 55 53 48 54 20 73 74 61 74 65 20 6d 75 73 74 20 62 65 20 62 79 74 | et.==.0,."USHT.state.must.be.byt |
| 8ce0 | 65 2d 61 6c 69 67 6e 65 64 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a 28 | e-aligned");..................*( |
| 8d00 | 75 73 68 6f 72 74 2a 29 76 61 6c 75 65 50 74 72 20 3d 20 28 75 73 68 6f 72 74 29 28 76 61 6c 75 | ushort*)valuePtr.=.(ushort)(valu |
| 8d20 | 65 20 2a 20 36 35 35 33 35 2e 30 66 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 20 | e.*.65535.0f);..............}... |
| 8d40 | 20 20 20 20 20 20 20 20 20 20 20 65 6c 73 65 20 69 66 20 28 66 6f 72 6d 61 74 20 3d 3d 20 46 6f | ...........else.if.(format.==.Fo |
| 8d60 | 72 6d 61 74 42 79 74 65 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 | rmatByte)..............{........ |
| 8d80 | 20 20 20 20 20 20 20 20 20 20 44 65 62 75 67 2e 41 73 73 65 72 74 28 73 69 7a 65 49 6e 42 69 74 | ..........Debug.Assert(sizeInBit |
| 8da0 | 73 20 3d 3d 20 38 2c 20 22 42 59 54 45 20 73 74 61 74 65 20 6d 75 73 74 20 68 61 76 65 20 73 69 | s.==.8,."BYTE.state.must.have.si |
| 8dc0 | 7a 65 49 6e 42 69 74 73 3d 38 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 44 | zeInBits=8");..................D |
| 8de0 | 65 62 75 67 2e 41 73 73 65 72 74 28 62 69 74 4f 66 66 73 65 74 20 3d 3d 20 30 2c 20 22 42 59 54 | ebug.Assert(bitOffset.==.0,."BYT |
| 8e00 | 45 20 73 74 61 74 65 20 6d 75 73 74 20 62 65 20 62 79 74 65 2d 61 6c 69 67 6e 65 64 22 29 3b 0d | E.state.must.be.byte-aligned");. |
| 8e20 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a 76 61 6c 75 65 50 74 72 20 3d 20 28 62 79 | .................*valuePtr.=.(by |
| 8e40 | 74 65 29 28 76 61 6c 75 65 20 2a 20 32 35 35 2e 30 66 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 | te)(value.*.255.0f);............ |
| 8e60 | 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 28 66 6f 72 6d 61 74 | ..}..............else.if.(format |
| 8e80 | 20 3d 3d 20 46 6f 72 6d 61 74 53 42 79 74 65 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d | .==.FormatSByte)..............{. |
| 8ea0 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 44 65 62 75 67 2e 41 73 73 65 72 74 28 73 69 | .................Debug.Assert(si |
| 8ec0 | 7a 65 49 6e 42 69 74 73 20 3d 3d 20 38 2c 20 22 53 42 59 54 20 73 74 61 74 65 20 6d 75 73 74 20 | zeInBits.==.8,."SBYT.state.must. |
| 8ee0 | 68 61 76 65 20 73 69 7a 65 49 6e 42 69 74 73 3d 38 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 | have.sizeInBits=8");............ |
| 8f00 | 20 20 20 20 20 20 44 65 62 75 67 2e 41 73 73 65 72 74 28 62 69 74 4f 66 66 73 65 74 20 3d 3d 20 | ......Debug.Assert(bitOffset.==. |
| 8f20 | 30 2c 20 22 53 42 59 54 20 73 74 61 74 65 20 6d 75 73 74 20 62 65 20 62 79 74 65 2d 61 6c 69 67 | 0,."SBYT.state.must.be.byte-alig |
| 8f40 | 6e 65 64 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a 28 73 62 79 74 65 2a | ned");..................*(sbyte* |
| 8f60 | 29 76 61 6c 75 65 50 74 72 20 3d 20 28 73 62 79 74 65 29 28 76 61 6c 75 65 20 2a 20 31 32 38 2e | )valuePtr.=.(sbyte)(value.*.128. |
| 8f80 | 30 66 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 20 20 20 | 0f);..............}............. |
| 8fa0 | 20 65 6c 73 65 20 69 66 20 28 66 6f 72 6d 61 74 20 3d 3d 20 46 6f 72 6d 61 74 44 6f 75 62 6c 65 | .else.if.(format.==.FormatDouble |
| 8fc0 | 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 | )..............{................ |
| 8fe0 | 20 20 44 65 62 75 67 2e 41 73 73 65 72 74 28 73 69 7a 65 49 6e 42 69 74 73 20 3d 3d 20 36 34 2c | ..Debug.Assert(sizeInBits.==.64, |
| 9000 | 20 22 44 42 4c 20 73 74 61 74 65 20 6d 75 73 74 20 68 61 76 65 20 73 69 7a 65 49 6e 42 69 74 73 | ."DBL.state.must.have.sizeInBits |
| 9020 | 3d 36 34 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 44 65 62 75 67 2e 41 73 | =64");..................Debug.As |
| 9040 | 73 65 72 74 28 62 69 74 4f 66 66 73 65 74 20 3d 3d 20 30 2c 20 22 44 42 4c 20 73 74 61 74 65 20 | sert(bitOffset.==.0,."DBL.state. |
| 9060 | 6d 75 73 74 20 62 65 20 62 79 74 65 2d 61 6c 69 67 6e 65 64 22 29 3b 0d 0a 20 20 20 20 20 20 20 | must.be.byte-aligned");......... |
| 9080 | 20 20 20 20 20 20 20 20 20 2a 28 64 6f 75 62 6c 65 2a 29 76 61 6c 75 65 50 74 72 20 3d 20 76 61 | .........*(double*)valuePtr.=.va |
| 90a0 | 6c 75 65 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 | lue;..............}............. |
| 90c0 | 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 20 20 20 | .else..............{............ |
| 90e0 | 20 20 20 20 20 20 74 68 72 6f 77 20 6e 65 77 20 49 6e 76 61 6c 69 64 4f 70 65 72 61 74 69 6f 6e | ......throw.new.InvalidOperation |
| 9100 | 45 78 63 65 70 74 69 6f 6e 28 24 22 53 74 61 74 65 20 66 6f 72 6d 61 74 20 27 7b 66 6f 72 6d 61 | Exception($"State.format.'{forma |
| 9120 | 74 7d 27 20 69 73 20 6e 6f 74 20 73 75 70 70 6f 72 74 65 64 20 61 73 20 66 6c 6f 61 74 69 6e 67 | t}'.is.not.supported.as.floating |
| 9140 | 2d 70 6f 69 6e 74 20 66 6f 72 6d 61 74 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d | -point.format");..............}. |
| 9160 | 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 76 6f 69 | .........}............public.voi |
| 9180 | 64 20 57 72 69 74 65 28 76 6f 69 64 2a 20 73 74 61 74 65 50 74 72 2c 20 50 72 69 6d 69 74 69 76 | d.Write(void*.statePtr,.Primitiv |
| 91a0 | 65 56 61 6c 75 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 | eValue.value)..........{........ |
| 91c0 | 20 20 20 20 20 20 76 61 72 20 76 61 6c 75 65 50 74 72 20 3d 20 28 62 79 74 65 2a 29 73 74 61 74 | ......var.valuePtr.=.(byte*)stat |
| 91e0 | 65 50 74 72 20 2b 20 28 69 6e 74 29 62 79 74 65 4f 66 66 73 65 74 3b 0d 0a 0d 0a 20 20 20 20 20 | ePtr.+.(int)byteOffset;......... |
| 9200 | 20 20 20 20 20 20 20 69 66 20 28 66 6f 72 6d 61 74 20 3d 3d 20 46 6f 72 6d 61 74 42 69 74 20 7c | .......if.(format.==.FormatBit.| |
| 9220 | 7c 20 66 6f 72 6d 61 74 20 3d 3d 20 46 6f 72 6d 61 74 53 42 69 74 29 0d 0a 20 20 20 20 20 20 20 | |.format.==.FormatSBit)......... |
| 9240 | 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 73 69 7a 65 | .....{..................if.(size |
| 9260 | 49 6e 42 69 74 73 20 3e 20 33 32 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | InBits.>.32).................... |
| 9280 | 20 20 74 68 72 6f 77 20 6e 65 77 20 4e 6f 74 49 6d 70 6c 65 6d 65 6e 74 65 64 45 78 63 65 70 74 | ..throw.new.NotImplementedExcept |
| 92a0 | 69 6f 6e 28 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 22 43 | ion(.........................."C |
| 92c0 | 61 6e 6e 6f 74 20 79 65 74 20 77 72 69 74 65 20 70 72 69 6d 69 74 69 76 65 20 76 61 6c 75 65 73 | annot.yet.write.primitive.values |
| 92e0 | 20 69 6e 74 6f 20 62 69 74 66 69 65 6c 64 73 20 77 69 64 65 72 20 74 68 61 6e 20 33 32 20 62 69 | .into.bitfields.wider.than.32.bi |
| 9300 | 74 73 22 29 3b 0d 0a 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 | ts");....................if.(siz |
| 9320 | 65 49 6e 42 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 20 | eInBits.==.1)................... |
| 9340 | 20 20 20 4d 65 6d 6f 72 79 48 65 6c 70 65 72 73 2e 57 72 69 74 65 53 69 6e 67 6c 65 42 69 74 28 | ...MemoryHelpers.WriteSingleBit( |
| 9360 | 76 61 6c 75 65 50 74 72 2c 20 62 69 74 4f 66 66 73 65 74 2c 20 76 61 6c 75 65 2e 54 6f 42 6f 6f | valuePtr,.bitOffset,.value.ToBoo |
| 9380 | 6c 65 61 6e 28 29 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 | lean());..................else.. |
| 93a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4d 65 6d 6f 72 79 48 65 6c 70 65 72 | ....................MemoryHelper |
| 93c0 | 73 2e 57 72 69 74 65 49 6e 74 46 72 6f 6d 4d 75 6c 74 69 70 6c 65 42 69 74 73 28 76 61 6c 75 65 | s.WriteIntFromMultipleBits(value |
| 93e0 | 50 74 72 2c 20 62 69 74 4f 66 66 73 65 74 2c 20 73 69 7a 65 49 6e 42 69 74 73 2c 20 76 61 6c 75 | Ptr,.bitOffset,.sizeInBits,.valu |
| 9400 | 65 2e 54 6f 49 6e 74 33 32 28 29 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 | e.ToInt32());..............}.... |
| 9420 | 20 20 20 20 20 20 20 20 20 20 65 6c 73 65 20 69 66 20 28 66 6f 72 6d 61 74 20 3d 3d 20 46 6f 72 | ..........else.if.(format.==.For |
| 9440 | 6d 61 74 46 6c 6f 61 74 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 | matFloat)..............{........ |
| 9460 | 20 20 20 20 20 20 20 20 20 20 44 65 62 75 67 2e 41 73 73 65 72 74 28 73 69 7a 65 49 6e 42 69 74 | ..........Debug.Assert(sizeInBit |
| 9480 | 73 20 3d 3d 20 33 32 2c 20 22 46 4c 54 20 73 74 61 74 65 20 6d 75 73 74 20 68 61 76 65 20 73 69 | s.==.32,."FLT.state.must.have.si |
| 94a0 | 7a 65 49 6e 42 69 74 73 3d 33 32 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | zeInBits=32");.................. |
| 94c0 | 44 65 62 75 67 2e 41 73 73 65 72 74 28 62 69 74 4f 66 66 73 65 74 20 3d 3d 20 30 2c 20 22 46 4c | Debug.Assert(bitOffset.==.0,."FL |
| 94e0 | 54 20 73 74 61 74 65 20 6d 75 73 74 20 62 65 20 62 79 74 65 2d 61 6c 69 67 6e 65 64 22 29 3b 0d | T.state.must.be.byte-aligned");. |
| 9500 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a 28 66 6c 6f 61 74 2a 29 76 61 6c 75 65 50 | .................*(float*)valueP |
| 9520 | 74 72 20 3d 20 76 61 6c 75 65 2e 54 6f 53 69 6e 67 6c 65 28 29 3b 0d 0a 20 20 20 20 20 20 20 20 | tr.=.value.ToSingle();.......... |
| 9540 | 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 28 66 6f 72 6d | ....}..............else.if.(form |
| 9560 | 61 74 20 3d 3d 20 46 6f 72 6d 61 74 42 79 74 65 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b | at.==.FormatByte)..............{ |
| 9580 | 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 44 65 62 75 67 2e 41 73 73 65 72 74 28 73 | ..................Debug.Assert(s |
| 95a0 | 69 7a 65 49 6e 42 69 74 73 20 3d 3d 20 38 2c 20 22 42 59 54 45 20 73 74 61 74 65 20 6d 75 73 74 | izeInBits.==.8,."BYTE.state.must |
| 95c0 | 20 68 61 76 65 20 73 69 7a 65 49 6e 42 69 74 73 3d 38 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 | .have.sizeInBits=8");........... |
| 95e0 | 20 20 20 20 20 20 20 44 65 62 75 67 2e 41 73 73 65 72 74 28 62 69 74 4f 66 66 73 65 74 20 3d 3d | .......Debug.Assert(bitOffset.== |
| 9600 | 20 30 2c 20 22 42 59 54 45 20 73 74 61 74 65 20 6d 75 73 74 20 62 65 20 62 79 74 65 2d 61 6c 69 | .0,."BYTE.state.must.be.byte-ali |
| 9620 | 67 6e 65 64 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a 76 61 6c 75 65 50 | gned");..................*valueP |
| 9640 | 74 72 20 3d 20 76 61 6c 75 65 2e 54 6f 42 79 74 65 28 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 | tr.=.value.ToByte();............ |
| 9660 | 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 28 66 6f 72 6d 61 74 | ..}..............else.if.(format |
| 9680 | 20 3d 3d 20 46 6f 72 6d 61 74 53 68 6f 72 74 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d | .==.FormatShort)..............{. |
| 96a0 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 44 65 62 75 67 2e 41 73 73 65 72 74 28 73 69 | .................Debug.Assert(si |
| 96c0 | 7a 65 49 6e 42 69 74 73 20 3d 3d 20 31 36 2c 20 22 53 48 52 54 20 73 74 61 74 65 20 6d 75 73 74 | zeInBits.==.16,."SHRT.state.must |
| 96e0 | 20 68 61 76 65 20 73 69 7a 65 49 6e 42 69 74 73 3d 31 36 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 | .have.sizeInBits=16");.......... |
| 9700 | 20 20 20 20 20 20 20 20 44 65 62 75 67 2e 41 73 73 65 72 74 28 62 69 74 4f 66 66 73 65 74 20 3d | ........Debug.Assert(bitOffset.= |
| 9720 | 3d 20 30 2c 20 22 53 48 52 54 20 73 74 61 74 65 20 6d 75 73 74 20 62 65 20 62 79 74 65 2d 61 6c | =.0,."SHRT.state.must.be.byte-al |
| 9740 | 69 67 6e 65 64 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a 28 73 68 6f 72 | igned");..................*(shor |
| 9760 | 74 2a 29 76 61 6c 75 65 50 74 72 20 3d 20 76 61 6c 75 65 2e 54 6f 49 6e 74 31 36 28 29 3b 0d 0a | t*)valuePtr.=.value.ToInt16();.. |
| 9780 | 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. |
| 97a0 | 69 66 20 28 66 6f 72 6d 61 74 20 3d 3d 20 46 6f 72 6d 61 74 49 6e 74 29 0d 0a 20 20 20 20 20 20 | if.(format.==.FormatInt)........ |
| 97c0 | 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 44 65 62 75 67 2e 41 | ......{..................Debug.A |
| 97e0 | 73 73 65 72 74 28 73 69 7a 65 49 6e 42 69 74 73 20 3d 3d 20 33 32 2c 20 22 49 4e 54 20 73 74 61 | ssert(sizeInBits.==.32,."INT.sta |
| 9800 | 74 65 20 6d 75 73 74 20 68 61 76 65 20 73 69 7a 65 49 6e 42 69 74 73 3d 33 32 22 29 3b 0d 0a 20 | te.must.have.sizeInBits=32");... |
| 9820 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 44 65 62 75 67 2e 41 73 73 65 72 74 28 62 69 74 4f | ...............Debug.Assert(bitO |
| 9840 | 66 66 73 65 74 20 3d 3d 20 30 2c 20 22 49 4e 54 20 73 74 61 74 65 20 6d 75 73 74 20 62 65 20 62 | ffset.==.0,."INT.state.must.be.b |
| 9860 | 79 74 65 2d 61 6c 69 67 6e 65 64 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | yte-aligned");.................. |
| 9880 | 2a 28 69 6e 74 2a 29 76 61 6c 75 65 50 74 72 20 3d 20 76 61 6c 75 65 2e 54 6f 49 6e 74 33 32 28 | *(int*)valuePtr.=.value.ToInt32( |
| 98a0 | 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 20 20 20 20 65 | );..............}..............e |
| 98c0 | 6c 73 65 20 69 66 20 28 66 6f 72 6d 61 74 20 3d 3d 20 46 6f 72 6d 61 74 53 42 79 74 65 29 0d 0a | lse.if.(format.==.FormatSByte).. |
| 98e0 | 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 44 | ............{..................D |
| 9900 | 65 62 75 67 2e 41 73 73 65 72 74 28 73 69 7a 65 49 6e 42 69 74 73 20 3d 3d 20 38 2c 20 22 53 42 | ebug.Assert(sizeInBits.==.8,."SB |
| 9920 | 59 54 20 73 74 61 74 65 20 6d 75 73 74 20 68 61 76 65 20 73 69 7a 65 49 6e 42 69 74 73 3d 38 22 | YT.state.must.have.sizeInBits=8" |
| 9940 | 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 44 65 62 75 67 2e 41 73 73 65 72 74 | );..................Debug.Assert |
| 9960 | 28 62 69 74 4f 66 66 73 65 74 20 3d 3d 20 30 2c 20 22 53 42 59 54 20 73 74 61 74 65 20 6d 75 73 | (bitOffset.==.0,."SBYT.state.mus |
| 9980 | 74 20 62 65 20 62 79 74 65 2d 61 6c 69 67 6e 65 64 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 | t.be.byte-aligned");............ |
| 99a0 | 20 20 20 20 20 20 2a 28 73 62 79 74 65 2a 29 76 61 6c 75 65 50 74 72 20 3d 20 76 61 6c 75 65 2e | ......*(sbyte*)valuePtr.=.value. |
| 99c0 | 54 6f 53 42 79 74 65 28 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 | ToSByte();..............}....... |
| 99e0 | 20 20 20 20 20 20 20 65 6c 73 65 20 69 66 20 28 66 6f 72 6d 61 74 20 3d 3d 20 46 6f 72 6d 61 74 | .......else.if.(format.==.Format |
| 9a00 | 55 53 68 6f 72 74 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 | UShort)..............{.......... |
| 9a20 | 20 20 20 20 20 20 20 20 44 65 62 75 67 2e 41 73 73 65 72 74 28 73 69 7a 65 49 6e 42 69 74 73 20 | ........Debug.Assert(sizeInBits. |
| 9a40 | 3d 3d 20 31 36 2c 20 22 55 53 48 54 20 73 74 61 74 65 20 6d 75 73 74 20 68 61 76 65 20 73 69 7a | ==.16,."USHT.state.must.have.siz |
| 9a60 | 65 49 6e 42 69 74 73 3d 31 36 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 44 | eInBits=16");..................D |
| 9a80 | 65 62 75 67 2e 41 73 73 65 72 74 28 62 69 74 4f 66 66 73 65 74 20 3d 3d 20 30 2c 20 22 55 53 48 | ebug.Assert(bitOffset.==.0,."USH |
| 9aa0 | 54 20 73 74 61 74 65 20 6d 75 73 74 20 62 65 20 62 79 74 65 2d 61 6c 69 67 6e 65 64 22 29 3b 0d | T.state.must.be.byte-aligned");. |
| 9ac0 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a 28 75 73 68 6f 72 74 2a 29 76 61 6c 75 65 | .................*(ushort*)value |
| 9ae0 | 50 74 72 20 3d 20 76 61 6c 75 65 2e 54 6f 55 49 6e 74 31 36 28 29 3b 0d 0a 20 20 20 20 20 20 20 | Ptr.=.value.ToUInt16();......... |
| 9b00 | 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 28 66 6f 72 | .....}..............else.if.(for |
| 9b20 | 6d 61 74 20 3d 3d 20 46 6f 72 6d 61 74 55 49 6e 74 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 | mat.==.FormatUInt).............. |
| 9b40 | 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 44 65 62 75 67 2e 41 73 73 65 72 74 28 | {..................Debug.Assert( |
| 9b60 | 73 69 7a 65 49 6e 42 69 74 73 20 3d 3d 20 33 32 2c 20 22 55 49 4e 54 20 73 74 61 74 65 20 6d 75 | sizeInBits.==.32,."UINT.state.mu |
| 9b80 | 73 74 20 68 61 76 65 20 73 69 7a 65 49 6e 42 69 74 73 3d 33 32 22 29 3b 0d 0a 20 20 20 20 20 20 | st.have.sizeInBits=32");........ |
| 9ba0 | 20 20 20 20 20 20 20 20 20 20 44 65 62 75 67 2e 41 73 73 65 72 74 28 62 69 74 4f 66 66 73 65 74 | ..........Debug.Assert(bitOffset |
| 9bc0 | 20 3d 3d 20 30 2c 20 22 55 49 4e 54 20 73 74 61 74 65 20 6d 75 73 74 20 62 65 20 62 79 74 65 2d | .==.0,."UINT.state.must.be.byte- |
| 9be0 | 61 6c 69 67 6e 65 64 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a 28 75 69 | aligned");..................*(ui |
| 9c00 | 6e 74 2a 29 76 61 6c 75 65 50 74 72 20 3d 20 76 61 6c 75 65 2e 54 6f 55 49 6e 74 33 32 28 29 3b | nt*)valuePtr.=.value.ToUInt32(); |
| 9c20 | 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 65 6c 73 | ..............}..............els |
| 9c40 | 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 20 20 20 | e..............{................ |
| 9c60 | 20 20 74 68 72 6f 77 20 6e 65 77 20 4e 6f 74 49 6d 70 6c 65 6d 65 6e 74 65 64 45 78 63 65 70 74 | ..throw.new.NotImplementedExcept |
| 9c80 | 69 6f 6e 28 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 22 57 72 69 74 | ion(......................$"Writ |
| 9ca0 | 69 6e 67 20 70 72 69 6d 69 74 69 76 65 20 76 61 6c 75 65 20 6f 66 20 74 79 70 65 20 27 7b 76 61 | ing.primitive.value.of.type.'{va |
| 9cc0 | 6c 75 65 2e 74 79 70 65 7d 27 20 69 6e 74 6f 20 73 74 61 74 65 20 62 6c 6f 63 6b 20 77 69 74 68 | lue.type}'.into.state.block.with |
| 9ce0 | 20 66 6f 72 6d 61 74 20 27 7b 66 6f 72 6d 61 74 7d 27 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 | .format.'{format}'");........... |
| 9d00 | 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 70 75 62 6c 69 | ...}..........}............publi |
| 9d20 | 63 20 76 6f 69 64 20 43 6f 70 79 54 6f 46 72 6f 6d 28 76 6f 69 64 2a 20 74 6f 53 74 61 74 65 50 | c.void.CopyToFrom(void*.toStateP |
| 9d40 | 74 72 2c 20 76 6f 69 64 2a 20 66 72 6f 6d 53 74 61 74 65 50 74 72 29 0d 0a 20 20 20 20 20 20 20 | tr,.void*.fromStatePtr)......... |
| 9d60 | 20 7b 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 65 74 20 21 3d | .{..............if.(bitOffset.!= |
| 9d80 | 20 30 20 7c 7c 20 73 69 7a 65 49 6e 42 69 74 73 20 25 20 38 20 21 3d 20 30 29 0d 0a 20 20 20 20 | .0.||.sizeInBits.%.8.!=.0)...... |
| 9da0 | 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 6d 70 6c 65 6d 65 | ............throw.new.NotImpleme |
| 9dc0 | 6e 74 65 64 45 78 63 65 70 74 69 6f 6e 28 22 43 6f 70 79 69 6e 67 20 62 69 74 66 69 65 6c 64 73 | ntedException("Copying.bitfields |
| 9de0 | 22 29 3b 0d 0a 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 | ");................var.from.=.(b |
| 9e00 | 79 74 65 2a 29 66 72 6f 6d 53 74 61 74 65 50 74 72 20 2b 20 62 79 74 65 4f 66 66 73 65 74 3b 0d | yte*)fromStatePtr.+.byteOffset;. |
| 9e20 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 74 6f 20 3d 20 28 62 79 74 65 2a 29 74 6f 53 | .............var.to.=.(byte*)toS |
| 9e40 | 74 61 74 65 50 74 72 20 2b 20 62 79 74 65 4f 66 66 73 65 74 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 | tatePtr.+.byteOffset;........... |
| 9e60 | 20 20 20 20 20 55 6e 73 61 66 65 55 74 69 6c 69 74 79 2e 4d 65 6d 43 70 79 28 74 6f 2c 20 66 72 | .....UnsafeUtility.MemCpy(to,.fr |
| 9e80 | 6f 6d 2c 20 61 6c 69 67 6e 65 64 53 69 7a 65 49 6e 42 79 74 65 73 29 3b 0d 0a 20 20 20 20 20 20 | om,.alignedSizeInBytes);........ |
| 9ea0 | 20 20 7d 0d 0a 20 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 | ..}......}..}................... |
| 9ec0 | 00 00 00 00 0f 00 00 00 49 6e 70 75 74 53 74 61 74 65 42 6c 6f 63 6b 00 00 00 00 00 | ........InputStateBlock..... |