Commit 794e7d1
authored
In GH-2866, _Py_Bit_Length() was added to pymath.h for lack of a better
location. GH-20518 added a more appropriate header file for bit utilities. It
also shows how to properly use intrinsics. This allows reconsidering bpo-29782.
* Move the function to the new header.
* Changed return type to match __builtin_clzl() and reviewed usage.
* Use intrinsics where available.
* Pick a fallback implementation suitable for inlining.
1 parent 25f38d7 commit 794e7d1
File tree
6 files changed
+100
-36
lines changed- Include
- internal
- Modules
- Objects
- Python
6 files changed
+100
-36
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
7 | 7 | | |
8 | 8 | | |
9 | 9 | | |
10 | | - | |
11 | | - | |
| 10 | + | |
| 11 | + | |
12 | 12 | | |
13 | 13 | | |
14 | 14 | | |
| |||
131 | 131 | | |
132 | 132 | | |
133 | 133 | | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
| 157 | + | |
| 158 | + | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
| 164 | + | |
| 165 | + | |
| 166 | + | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
| 172 | + | |
| 173 | + | |
134 | 174 | | |
135 | 175 | | |
136 | 176 | | |
137 | | - | |
138 | | - | |
| 177 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
227 | 227 | | |
228 | 228 | | |
229 | 229 | | |
230 | | - | |
231 | | - | |
232 | | - | |
233 | | - | |
234 | | - | |
235 | | - | |
236 | | - | |
237 | | - | |
238 | 230 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
102 | 102 | | |
103 | 103 | | |
104 | 104 | | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
105 | 144 | | |
106 | 145 | | |
107 | 146 | | |
| |||
197 | 236 | | |
198 | 237 | | |
199 | 238 | | |
| 239 | + | |
200 | 240 | | |
201 | 241 | | |
202 | 242 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
53 | 53 | | |
54 | 54 | | |
55 | 55 | | |
| 56 | + | |
56 | 57 | | |
57 | 58 | | |
58 | 59 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
695 | 695 | | |
696 | 696 | | |
697 | 697 | | |
| 698 | + | |
| 699 | + | |
| 700 | + | |
| 701 | + | |
| 702 | + | |
| 703 | + | |
| 704 | + | |
698 | 705 | | |
699 | 706 | | |
700 | 707 | | |
| |||
712 | 719 | | |
713 | 720 | | |
714 | 721 | | |
715 | | - | |
| 722 | + | |
716 | 723 | | |
717 | 724 | | |
718 | 725 | | |
| |||
1822 | 1829 | | |
1823 | 1830 | | |
1824 | 1831 | | |
1825 | | - | |
| 1832 | + | |
1826 | 1833 | | |
1827 | 1834 | | |
1828 | 1835 | | |
| |||
2642 | 2649 | | |
2643 | 2650 | | |
2644 | 2651 | | |
2645 | | - | |
| 2652 | + | |
2646 | 2653 | | |
2647 | 2654 | | |
2648 | 2655 | | |
| |||
2764 | 2771 | | |
2765 | 2772 | | |
2766 | 2773 | | |
2767 | | - | |
| 2774 | + | |
2768 | 2775 | | |
2769 | 2776 | | |
2770 | 2777 | | |
| |||
3857 | 3864 | | |
3858 | 3865 | | |
3859 | 3866 | | |
3860 | | - | |
3861 | | - | |
| 3867 | + | |
| 3868 | + | |
3862 | 3869 | | |
3863 | 3870 | | |
3864 | 3871 | | |
| |||
3934 | 3941 | | |
3935 | 3942 | | |
3936 | 3943 | | |
3937 | | - | |
| 3944 | + | |
3938 | 3945 | | |
3939 | 3946 | | |
3940 | 3947 | | |
| |||
4748 | 4755 | | |
4749 | 4756 | | |
4750 | 4757 | | |
4751 | | - | |
| 4758 | + | |
4752 | 4759 | | |
4753 | 4760 | | |
4754 | 4761 | | |
| |||
5269 | 5276 | | |
5270 | 5277 | | |
5271 | 5278 | | |
5272 | | - | |
| 5279 | + | |
5273 | 5280 | | |
5274 | 5281 | | |
5275 | 5282 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
79 | 79 | | |
80 | 80 | | |
81 | 81 | | |
82 | | - | |
83 | | - | |
84 | | - | |
85 | | - | |
86 | | - | |
87 | | - | |
88 | | - | |
89 | | - | |
90 | | - | |
91 | | - | |
92 | | - | |
93 | | - | |
94 | | - | |
95 | | - | |
96 | | - | |
0 commit comments