Skip to content

Conversation

@mbauman
Copy link
Member

@mbauman mbauman commented Mar 26, 2024

This addresses the previous limitation to Base.literal_pow, where it would only apply to literals between $\pm2^{61}$ (or 29).

cc @KlausC — this is that more direct fix that affects both #53713 and #53819. :)

This more directly addresses the previous limitation, where `Base.literal_pow` would only apply to literals between $\pm2\^{61}$ (or 29).
@mbauman mbauman added the compiler:lowering Syntax lowering (compiler front end, 2nd stage) label Mar 26, 2024
@mbauman mbauman requested a review from JeffBezanson March 26, 2024 16:02
@KlausC
Copy link
Contributor

KlausC commented Mar 26, 2024

If I understand well, that means all decimal literal integers in the range of Int now trigger the literal_pow logic; other literals don't.

@mbauman
Copy link
Member Author

mbauman commented Mar 27, 2024

Yes, that's exactly right. This fix means that when Julia ASTs are shuttled over to flisp for lowering, we keep large Int literals as things that flisp knows are integers. We'll still need your other fixes to more specifically target Int in the mirrored transforms.

@mbauman mbauman merged commit b18d2cc into master Mar 28, 2024
@mbauman mbauman deleted the mb/cprim branch March 28, 2024 20:41
KlausC added a commit to KlausC/julia that referenced this pull request Mar 29, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

compiler:lowering Syntax lowering (compiler front end, 2nd stage)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants