Commit 0c6d412
authored
Iterative generic math changes to match API review (#69391)
* Change GetShortestBitLength to return int and add WriteBigEndian APIs
* Add WriteExponentBigEndian and WriteSignificandBigEndian APIs
* Update System.Char to explicitly implement the numeric interfaces
* Ensure BigInteger.TryWriteBigEndian correctly offsets the address
* Fixing two usages of `var` in decimal
* Ensure lo64 is ulong and hi32 is uint
* Ensure Int128/UInt128 implement TryWriteBigEndian and return `int` for `GetShortestBitLength`
* Ensure that `GetByteCount` and `GetShortestBitLength` correctly handle the one's complement format
* Ensure the ReverseEndianness calls in TryWrite* for Int128/UInt128 are correct
* Ensure BigInteger.TryWriteLittleEndian has a correct assert1 parent 7bb207c commit 0c6d412
45 files changed
Lines changed: 2510 additions & 273 deletions
File tree
- src/libraries
- Common/tests/System
- System.Private.CoreLib/src/System
- Numerics
- Runtime/InteropServices
- System.Runtime.InteropServices
- ref
- tests/System.Runtime.InteropServices.UnitTests/System/Runtime/InteropServices
- System.Runtime.Numerics
- ref
- src/System/Numerics
- tests
- System.Runtime
- ref
- tests/System
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
25 | 25 | | |
26 | 26 | | |
27 | 27 | | |
28 | | - | |
29 | | - | |
30 | | - | |
31 | | - | |
32 | 28 | | |
33 | 29 | | |
34 | 30 | | |
| |||
39 | 35 | | |
40 | 36 | | |
41 | 37 | | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
42 | 44 | | |
43 | 45 | | |
44 | 46 | | |
| |||
103 | 105 | | |
104 | 106 | | |
105 | 107 | | |
106 | | - | |
| 108 | + | |
107 | 109 | | |
108 | 110 | | |
109 | 111 | | |
110 | | - | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
111 | 115 | | |
112 | 116 | | |
113 | 117 | | |
| 118 | + | |
| 119 | + | |
114 | 120 | | |
115 | 121 | | |
116 | 122 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
333 | 333 | | |
334 | 334 | | |
335 | 335 | | |
336 | | - | |
| 336 | + | |
337 | 337 | | |
338 | 338 | | |
339 | 339 | | |
340 | 340 | | |
| 341 | + | |
| 342 | + | |
| 343 | + | |
| 344 | + | |
| 345 | + | |
| 346 | + | |
| 347 | + | |
| 348 | + | |
| 349 | + | |
| 350 | + | |
| 351 | + | |
| 352 | + | |
| 353 | + | |
| 354 | + | |
| 355 | + | |
| 356 | + | |
| 357 | + | |
| 358 | + | |
341 | 359 | | |
342 | 360 | | |
343 | 361 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1166 | 1166 | | |
1167 | 1167 | | |
1168 | 1168 | | |
1169 | | - | |
| 1169 | + | |
1170 | 1170 | | |
1171 | 1171 | | |
1172 | | - | |
| 1172 | + | |
1173 | 1173 | | |
1174 | 1174 | | |
1175 | | - | |
| 1175 | + | |
1176 | 1176 | | |
1177 | 1177 | | |
1178 | | - | |
| 1178 | + | |
1179 | 1179 | | |
1180 | 1180 | | |
1181 | | - | |
| 1181 | + | |
1182 | 1182 | | |
1183 | 1183 | | |
1184 | | - | |
| 1184 | + | |
1185 | 1185 | | |
1186 | 1186 | | |
1187 | | - | |
| 1187 | + | |
1188 | 1188 | | |
1189 | 1189 | | |
1190 | 1190 | | |
1191 | 1191 | | |
| 1192 | + | |
| 1193 | + | |
| 1194 | + | |
| 1195 | + | |
| 1196 | + | |
| 1197 | + | |
| 1198 | + | |
| 1199 | + | |
| 1200 | + | |
| 1201 | + | |
| 1202 | + | |
| 1203 | + | |
| 1204 | + | |
| 1205 | + | |
| 1206 | + | |
| 1207 | + | |
| 1208 | + | |
| 1209 | + | |
1192 | 1210 | | |
1193 | 1211 | | |
1194 | 1212 | | |
| |||
1212 | 1230 | | |
1213 | 1231 | | |
1214 | 1232 | | |
1215 | | - | |
| 1233 | + | |
1216 | 1234 | | |
1217 | 1235 | | |
1218 | | - | |
| 1236 | + | |
1219 | 1237 | | |
1220 | 1238 | | |
1221 | 1239 | | |
| |||
1331 | 1349 | | |
1332 | 1350 | | |
1333 | 1351 | | |
1334 | | - | |
| 1352 | + | |
1335 | 1353 | | |
1336 | 1354 | | |
1337 | 1355 | | |
1338 | 1356 | | |
1339 | 1357 | | |
1340 | 1358 | | |
1341 | | - | |
1342 | | - | |
| 1359 | + | |
1343 | 1360 | | |
1344 | 1361 | | |
1345 | 1362 | | |
| |||
1406 | 1423 | | |
1407 | 1424 | | |
1408 | 1425 | | |
1409 | | - | |
1410 | | - | |
| 1426 | + | |
1411 | 1427 | | |
1412 | 1428 | | |
1413 | 1429 | | |
| |||
1491 | 1507 | | |
1492 | 1508 | | |
1493 | 1509 | | |
1494 | | - | |
1495 | | - | |
| 1510 | + | |
1496 | 1511 | | |
1497 | 1512 | | |
1498 | 1513 | | |
| |||
1561 | 1576 | | |
1562 | 1577 | | |
1563 | 1578 | | |
1564 | | - | |
| 1579 | + | |
1565 | 1580 | | |
1566 | 1581 | | |
1567 | | - | |
| 1582 | + | |
1568 | 1583 | | |
1569 | 1584 | | |
1570 | | - | |
| 1585 | + | |
1571 | 1586 | | |
1572 | 1587 | | |
1573 | | - | |
| 1588 | + | |
1574 | 1589 | | |
1575 | 1590 | | |
1576 | | - | |
| 1591 | + | |
1577 | 1592 | | |
1578 | 1593 | | |
1579 | 1594 | | |
1580 | | - | |
1581 | | - | |
| 1595 | + | |
1582 | 1596 | | |
1583 | 1597 | | |
1584 | 1598 | | |
| |||
Lines changed: 56 additions & 9 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1150 | 1150 | | |
1151 | 1151 | | |
1152 | 1152 | | |
| 1153 | + | |
| 1154 | + | |
| 1155 | + | |
1153 | 1156 | | |
1154 | | - | |
| 1157 | + | |
1155 | 1158 | | |
1156 | 1159 | | |
1157 | 1160 | | |
1158 | 1161 | | |
1159 | 1162 | | |
1160 | | - | |
1161 | | - | |
| 1163 | + | |
| 1164 | + | |
| 1165 | + | |
| 1166 | + | |
| 1167 | + | |
| 1168 | + | |
| 1169 | + | |
| 1170 | + | |
| 1171 | + | |
| 1172 | + | |
| 1173 | + | |
| 1174 | + | |
| 1175 | + | |
| 1176 | + | |
| 1177 | + | |
| 1178 | + | |
| 1179 | + | |
| 1180 | + | |
| 1181 | + | |
| 1182 | + | |
| 1183 | + | |
| 1184 | + | |
| 1185 | + | |
1162 | 1186 | | |
1163 | 1187 | | |
1164 | 1188 | | |
| |||
1178 | 1202 | | |
1179 | 1203 | | |
1180 | 1204 | | |
1181 | | - | |
1182 | | - | |
| 1205 | + | |
| 1206 | + | |
| 1207 | + | |
| 1208 | + | |
| 1209 | + | |
| 1210 | + | |
| 1211 | + | |
1183 | 1212 | | |
1184 | | - | |
1185 | | - | |
| 1213 | + | |
| 1214 | + | |
| 1215 | + | |
| 1216 | + | |
| 1217 | + | |
| 1218 | + | |
| 1219 | + | |
| 1220 | + | |
| 1221 | + | |
| 1222 | + | |
| 1223 | + | |
| 1224 | + | |
| 1225 | + | |
| 1226 | + | |
| 1227 | + | |
| 1228 | + | |
| 1229 | + | |
| 1230 | + | |
| 1231 | + | |
| 1232 | + | |
1186 | 1233 | | |
1187 | 1234 | | |
1188 | 1235 | | |
1189 | 1236 | | |
1190 | 1237 | | |
1191 | 1238 | | |
1192 | | - | |
1193 | | - | |
| 1239 | + | |
| 1240 | + | |
1194 | 1241 | | |
1195 | 1242 | | |
1196 | 1243 | | |
| |||
Lines changed: 55 additions & 7 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
661 | 661 | | |
662 | 662 | | |
663 | 663 | | |
| 664 | + | |
| 665 | + | |
| 666 | + | |
664 | 667 | | |
665 | | - | |
| 668 | + | |
666 | 669 | | |
667 | 670 | | |
668 | 671 | | |
| |||
676 | 679 | | |
677 | 680 | | |
678 | 681 | | |
679 | | - | |
680 | | - | |
| 682 | + | |
| 683 | + | |
| 684 | + | |
| 685 | + | |
| 686 | + | |
| 687 | + | |
| 688 | + | |
| 689 | + | |
| 690 | + | |
| 691 | + | |
| 692 | + | |
| 693 | + | |
| 694 | + | |
| 695 | + | |
| 696 | + | |
| 697 | + | |
| 698 | + | |
| 699 | + | |
| 700 | + | |
| 701 | + | |
| 702 | + | |
| 703 | + | |
| 704 | + | |
| 705 | + | |
| 706 | + | |
| 707 | + | |
| 708 | + | |
| 709 | + | |
| 710 | + | |
681 | 711 | | |
682 | 712 | | |
683 | 713 | | |
| |||
703 | 733 | | |
704 | 734 | | |
705 | 735 | | |
706 | | - | |
707 | | - | |
| 736 | + | |
| 737 | + | |
| 738 | + | |
| 739 | + | |
| 740 | + | |
| 741 | + | |
708 | 742 | | |
709 | | - | |
710 | | - | |
| 743 | + | |
| 744 | + | |
| 745 | + | |
| 746 | + | |
| 747 | + | |
| 748 | + | |
| 749 | + | |
| 750 | + | |
| 751 | + | |
| 752 | + | |
| 753 | + | |
| 754 | + | |
| 755 | + | |
| 756 | + | |
| 757 | + | |
| 758 | + | |
711 | 759 | | |
712 | 760 | | |
713 | 761 | | |
| |||
0 commit comments