Skip to content
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

use arith 'exact'/'fast' #21

Open
rurban opened this issue Sep 11, 2015 · 2 comments

Comments

1 participant
@rurban
Copy link
Member

commented Sep 11, 2015

New lexical pragma for exact or fast arith, promote to double or bigint? We probably need a PL_hints bit for this, more then for no magic or strict names.

Add a core pragma to select arithmetic overflow semantics.
Overflow to fast NV (double) as with perl5, or to exact bigint/num/rat as with perl6.

@rurban rurban added the enhancement label Sep 11, 2015

@rurban rurban self-assigned this Sep 11, 2015

@rurban

This comment has been minimized.

Copy link
Member Author

commented Dec 9, 2015

See e.g. 2713d58
for pp_add with exactarith instead of promoting to NV. Note that NV overflow/precision loss is not done there yet.

rurban added a commit that referenced this issue Nov 25, 2018

exact_arith: implement it
Promote on overflow to bigint/num, and not to NV.
This is a new lexical user-pragma to use exact
arithmetic without loosing precision on all builtin arithmetic ops.
As in perl6.

It is of course a bit slower than without.

Closes #21.

rurban added a commit that referenced this issue Mar 18, 2019

exact_arith: implement it
Promote on overflow to bigint/num, and not to NV.
This is a new lexical user-pragma to use exact
arithmetic without loosing precision on all builtin arithmetic ops.
As in perl6.

It is of course a bit slower than without.

Closes #21.

rurban added a commit that referenced this issue Mar 18, 2019

exact_arith: implement it
Promote on overflow to bigint, and not to NV.
This is a new lexical user-pragma to use exact
arithmetic without loosing precision on all builtin arithmetic ops.
As in perl6, just much faster. (only in the rare 1% overflow case)

It is of course a bit slower than without, but I could not
measure any difference.

See #21.

rurban added a commit that referenced this issue Apr 1, 2019

exact_arith: implement it
Promote on overflow to bigint/num, and not to NV.
This is a new lexical user-pragma to use exact
arithmetic without loosing precision on all builtin arithmetic ops.
As in perl6.

It is of course a bit slower than without.

Closes #21.

rurban added a commit that referenced this issue Apr 1, 2019

exact_arith: implement it
Promote on overflow to bigint, and not to NV.
This is a new lexical user-pragma to use exact
arithmetic without loosing precision on all builtin arithmetic ops.
As in perl6, just much faster. (only in the rare 1% overflow case)

It is of course a bit slower than without, but I could not
measure any difference.

See #21.

rurban added a commit that referenced this issue Apr 5, 2019

exact_arith: implement it
Promote on overflow to bigint/num, and not to NV.
This is a new lexical user-pragma to use exact
arithmetic without loosing precision on all builtin arithmetic ops.
As in perl6.

It is of course a bit slower than without.

Closes #21.

rurban added a commit that referenced this issue Apr 5, 2019

exact_arith: implement it
Promote on overflow to bigint, and not to NV.
This is a new lexical user-pragma to use exact
arithmetic without loosing precision on all builtin arithmetic ops.
As in perl6, just much faster. (only in the rare 1% overflow case)

It is of course a bit slower than without, but I could not
measure any difference.

See #21.

rurban added a commit that referenced this issue Apr 5, 2019

exact_arith: implement it
Promote on overflow to bigint/num, and not to NV.
This is a new lexical user-pragma to use exact
arithmetic without loosing precision on all builtin arithmetic ops.
As in perl6.

It is of course a bit slower than without.

Closes #21.

rurban added a commit that referenced this issue Apr 5, 2019

exact_arith: implement it
Promote on overflow to bigint, and not to NV.
This is a new lexical user-pragma to use exact
arithmetic without loosing precision on all builtin arithmetic ops.
As in perl6, just much faster. (only in the rare 1% overflow case)

It is of course a bit slower than without, but I could not
measure any difference.

See #21.

rurban added a commit that referenced this issue Apr 30, 2019

exact_arith: implement it
Promote on overflow to bigint/num, and not to NV.
This is a new lexical user-pragma to use exact
arithmetic without loosing precision on all builtin arithmetic ops.
As in perl6.

It is of course a bit slower than without.

Closes #21.

rurban added a commit that referenced this issue Apr 30, 2019

exact_arith: implement it
Promote on overflow to bigint, and not to NV.
This is a new lexical user-pragma to use exact
arithmetic without loosing precision on all builtin arithmetic ops.
As in perl6, just much faster. (only in the rare 1% overflow case)

It is of course a bit slower than without, but I could not
measure any difference.

See #21.

rurban pushed a commit that referenced this issue Jun 6, 2019

Rename PPPort_xs.PL to RealPPPort_xs.PL
Fixes Devel-PPPort GH #21

To avoid confusion rename the template for RealPPPort.xs
file as RealPPPort_xs.PL so it's now clear what file
it generates.

rurban pushed a commit that referenced this issue Jun 6, 2019

Rename PPPort_xs.PL to RealPPPort_xs.PL
Fixes Devel-PPPort GH #21

To avoid confusion rename the template for RealPPPort.xs
file as RealPPPort_xs.PL so it's now clear what file
it generates.

(cherry picked from commit 0f14f67)
Signed-off-by: Nicolas R <atoomic@cpan.org>

rurban added a commit that referenced this issue Jun 12, 2019

exact_arith: implement it
Promote on overflow to bigint/num, and not to NV.
This is a new lexical user-pragma to use exact
arithmetic without loosing precision on all builtin arithmetic ops.
As in perl6.

It is of course a bit slower than without.

Closes #21.

rurban added a commit that referenced this issue Jun 12, 2019

exact_arith: implement it
Promote on overflow to bigint, and not to NV.
This is a new lexical user-pragma to use exact
arithmetic without loosing precision on all builtin arithmetic ops.
As in perl6, just much faster. (only in the rare 1% overflow case)

It is of course a bit slower than without, but I could not
measure any difference.

See #21.

rurban added a commit that referenced this issue Jun 24, 2019

exact_arith: implement it
Promote on overflow to bigint, and not to NV.
This is a new lexical user-pragma to use exact
arithmetic without loosing precision on all builtin arithmetic ops.
As in perl6, just much faster. (only in the rare 1% overflow case)

It is of course a bit slower than without, but I could not
measure any difference.

See #21.

rurban added a commit that referenced this issue Jun 24, 2019

exact_arith: implement it
Promote on overflow to bigint/num, and not to NV.
This is a new lexical user-pragma to use exact
arithmetic without loosing precision on all builtin arithmetic ops.
As in perl6.

It is of course a bit slower than without.

Closes #21.

rurban added a commit that referenced this issue Jun 26, 2019

exact_arith: implement it
Promote on overflow to bigint/num, and not to NV.
This is a new lexical user-pragma to use exact
arithmetic without loosing precision on all builtin arithmetic ops.
As in perl6.

It is of course a bit slower than without.

Closes #21.

rurban added a commit that referenced this issue Jun 26, 2019

exact_arith: implement it
Promote on overflow to bigint, and not to NV.
This is a new lexical user-pragma to use exact
arithmetic without loosing precision on all builtin arithmetic ops.
As in perl6, just much faster. (only in the rare 1% overflow case)

It is of course a bit slower than without, but I could not
measure any difference.

See #21.

rurban added a commit that referenced this issue Jun 27, 2019

exact_arith: implement it
Promote on overflow to bigint/num, and not to NV.
This is a new lexical user-pragma to use exact
arithmetic without loosing precision on all builtin arithmetic ops.
As in perl6.

It is of course a bit slower than without.

Closes #21.

rurban added a commit that referenced this issue Jul 1, 2019

exact_arith: implement it
Promote on overflow to bigint, and not to NV.
This is a new lexical user-pragma to use exact
arithmetic without loosing precision on all builtin arithmetic ops.
As in perl6, just much faster. (only in the rare 1% overflow case)

It is of course a bit slower than without, but I could not
measure any difference.

See #21.

rurban added a commit that referenced this issue Jul 1, 2019

exact_arith: implement it
Promote on overflow to bigint/num, and not to NV.
This is a new lexical user-pragma to use exact
arithmetic without loosing precision on all builtin arithmetic ops.
As in perl6.

It is of course a bit slower than without.

Closes #21.

rurban added a commit that referenced this issue Jul 2, 2019

exact_arith: implement it
Promote on overflow to bigint, and not to NV.
This is a new lexical user-pragma to use exact
arithmetic without loosing precision on all builtin arithmetic ops.
As in perl6, just much faster. (only in the rare 1% overflow case)

It is of course a bit slower than without, but I could not
measure any difference.

See #21.

rurban added a commit that referenced this issue Jul 2, 2019

exact_arith: implement it
Promote on overflow to bigint/num, and not to NV.
This is a new lexical user-pragma to use exact
arithmetic without loosing precision on all builtin arithmetic ops.
As in perl6.

It is of course a bit slower than without.

Closes #21.

rurban added a commit that referenced this issue Jul 2, 2019

exact_arith: implement it
Promote on overflow to bigint, and not to NV.
This is a new lexical user-pragma to use exact
arithmetic without loosing precision on all builtin arithmetic ops.
As in perl6, just much faster. (only in the rare 1% overflow case)

It is of course a bit slower than without, but I could not
measure any difference.

See #21.

rurban added a commit that referenced this issue Jul 2, 2019

exact_arith: implement it
Promote on overflow to bigint/num, and not to NV.
This is a new lexical user-pragma to use exact
arithmetic without loosing precision on all builtin arithmetic ops.
As in perl6.

It is of course a bit slower than without.

Closes #21.

rurban added a commit that referenced this issue Jul 2, 2019

exact_arith: implement it
Promote on overflow to bigint, and not to NV.
This is a new lexical user-pragma to use exact
arithmetic without loosing precision on all builtin arithmetic ops.
As in perl6, just much faster. (only in the rare 1% overflow case)

It is of course a bit slower than without, but I could not
measure any difference.

See #21.

rurban added a commit that referenced this issue Jul 2, 2019

exact_arith: implement it
Promote on overflow to bigint/num, and not to NV.
This is a new lexical user-pragma to use exact
arithmetic without loosing precision on all builtin arithmetic ops.
As in perl6.

It is of course a bit slower than without.

Closes #21.

rurban added a commit that referenced this issue Jul 3, 2019

exact_arith: implement it
Promote on overflow to bigint/num, and not to NV.
This is a new lexical user-pragma to use exact
arithmetic without loosing precision on all builtin arithmetic ops.
As in perl6.

It is of course a bit slower than without.

Closes #21.

rurban added a commit that referenced this issue Jul 3, 2019

exact_arith: implement it
Promote on overflow to bigint, and not to NV.
This is a new lexical user-pragma to use exact
arithmetic without loosing precision on all builtin arithmetic ops.
As in perl6, just much faster. (only in the rare 1% overflow case)

It is of course a bit slower than without, but I could not
measure any difference.

See #21.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.