Commit ee8dd0f
power uses Float64 exponents for integers (#53967)
Improve performance of `^(::Float64, n::Integer)` in the case of `abs(n)
> 2^13`.
While `pow_body` is unreliable for `abs(n) > 2^25` this implementation
provides errors of a few ULPs, while runtime is capped to that of the
`Float64` implementation.
Fixes #53881
See also #53886.
(cherry picked from commit fe49d56)1 parent 549282d commit ee8dd0f
3 files changed
+62
-13
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1189 | 1189 | | |
1190 | 1190 | | |
1191 | 1191 | | |
| 1192 | + | |
| 1193 | + | |
| 1194 | + | |
| 1195 | + | |
1192 | 1196 | | |
1193 | 1197 | | |
1194 | 1198 | | |
| |||
1201 | 1205 | | |
1202 | 1206 | | |
1203 | 1207 | | |
1204 | | - | |
1205 | | - | |
1206 | | - | |
1207 | | - | |
| 1208 | + | |
| 1209 | + | |
| 1210 | + | |
| 1211 | + | |
| 1212 | + | |
| 1213 | + | |
| 1214 | + | |
| 1215 | + | |
| 1216 | + | |
| 1217 | + | |
| 1218 | + | |
| 1219 | + | |
| 1220 | + | |
| 1221 | + | |
| 1222 | + | |
| 1223 | + | |
| 1224 | + | |
1208 | 1225 | | |
1209 | 1226 | | |
1210 | 1227 | | |
1211 | 1228 | | |
1212 | 1229 | | |
1213 | | - | |
1214 | | - | |
1215 | | - | |
1216 | | - | |
1217 | | - | |
| 1230 | + | |
1218 | 1231 | | |
1219 | 1232 | | |
1220 | 1233 | | |
1221 | | - | |
| 1234 | + | |
1222 | 1235 | | |
1223 | 1236 | | |
1224 | 1237 | | |
| |||
1242 | 1255 | | |
1243 | 1256 | | |
1244 | 1257 | | |
1245 | | - | |
1246 | 1258 | | |
| 1259 | + | |
| 1260 | + | |
| 1261 | + | |
1247 | 1262 | | |
1248 | | - | |
| 1263 | + | |
| 1264 | + | |
| 1265 | + | |
| 1266 | + | |
| 1267 | + | |
| 1268 | + | |
| 1269 | + | |
| 1270 | + | |
| 1271 | + | |
| 1272 | + | |
| 1273 | + | |
| 1274 | + | |
| 1275 | + | |
| 1276 | + | |
1249 | 1277 | | |
1250 | 1278 | | |
| 1279 | + | |
| 1280 | + | |
1251 | 1281 | | |
1252 | 1282 | | |
1253 | 1283 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
252 | 252 | | |
253 | 253 | | |
254 | 254 | | |
255 | | - | |
| 255 | + | |
256 | 256 | | |
257 | 257 | | |
258 | 258 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1453 | 1453 | | |
1454 | 1454 | | |
1455 | 1455 | | |
| 1456 | + | |
| 1457 | + | |
| 1458 | + | |
| 1459 | + | |
| 1460 | + | |
| 1461 | + | |
| 1462 | + | |
| 1463 | + | |
| 1464 | + | |
| 1465 | + | |
| 1466 | + | |
| 1467 | + | |
| 1468 | + | |
| 1469 | + | |
| 1470 | + | |
| 1471 | + | |
| 1472 | + | |
| 1473 | + | |
| 1474 | + | |
1456 | 1475 | | |
1457 | 1476 | | |
1458 | 1477 | | |
| |||
0 commit comments