Skip to content

Smoke me/hv/sync bignum 20220412 #19624

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 3 commits into from
Apr 17, 2022
Merged

Smoke me/hv/sync bignum 20220412 #19624

merged 3 commits into from
Apr 17, 2022

Conversation

hvds
Copy link
Contributor

@hvds hvds commented Apr 14, 2022

@rjbs @leonerd @neilb I'd like the PSC to consider merging this update to bignum-0.65, with associated updates to Math::BigInt and Math::BigRat.

This reverses the incompatible changes brought in with bignum-0.60 (which have not yet made it in to any public release of perl), and will fix #19539.

Smoke results (http://perl.develop-help.com/?b=smoke-me/hv/sync-bignum-20220412) look clean: the Solaris failures were also appearing in blead at that time, probably caused by the recent issue with utils/zipdetails.

@jkeenan jkeenan requested a review from rjbs April 14, 2022 19:47
hvds added 3 commits April 17, 2022 10:18
    [DELTA]

 * Improve upgrading and downgrading. This work is not complete. Some
   methods still don't downgrade when they should.
    [DELTA]

 * Improve downgrading and upgrading.
    [DELTA]

 * Restore the upgrading and downgrading in "bignum", with the exception
   of upgrading from Math::BigFloat to Math::BigRat, which I couldn't make
   sense of. Now, both integer literals and integers (and Infs and NaNs)
   that are the result of a computation become Math::BigInt objects, and
   both non-integer literals and non-integers that are as a result of a
   computation become Math::BigFloat objects. The classes used for literal
   integers and non-integers during compile-time are configurable, as well
   as the classes used for downgrading and upgrading during runtime.

 * Add the "bigfloat" pragma, which converts all numeric literals to
   Math::BigFloat objects. This is consistent with the "bigint" pragma,
   which converts all numeric literals to Math::BigInt objects, and the
   "bigrat" pragma which converts all numeric literals to Math::BigRat
   objects.
@rjbs rjbs force-pushed the smoke-me/hv/sync-bignum-20220412 branch from db04e54 to ca3af6c Compare April 17, 2022 14:18
@rjbs rjbs merged commit 7949ba1 into blead Apr 17, 2022
@hvds hvds deleted the smoke-me/hv/sync-bignum-20220412 branch May 3, 2022 15:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

BBC: Blead breaks DANAJ/Math-Prime-Util-0.73.tar.gz
2 participants