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

fix (-Inf)^-1 inconsistency #55875

Merged
merged 3 commits into from
Feb 15, 2025
Merged

Conversation

oscardssmith
Copy link
Member

fixes #55831
Turns out all we needed was to change the xnlo initialization. @nsajko mind if I steal your testset?

@oscardssmith oscardssmith added maths Mathematical functions bugfix This change fixes an existing bug labels Sep 25, 2024
@oscardssmith oscardssmith requested a review from nsajko September 25, 2024 16:40
@giordano giordano added the needs tests Unit tests are required for this change label Sep 25, 2024
Copy link
Contributor

@nsajko nsajko left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice!

Here's the testset:

@testset "inconsistency, possible bug" begin
    @testset "T: $T" for T  (Float16, Float32, Float64, BigFloat)
        @testset "literal `-1`" begin
            @test -0.0 === Float64(T(-Inf)^-1)
        end
        @testset "`Int(-1)`" begin
            @test -0.0 === Float64(T(-Inf)^Int(-1))
        end
    end
end

Trying it locally shows that the inconsistency is gone with the PR.

@oscardssmith oscardssmith removed the needs tests Unit tests are required for this change label Sep 25, 2024
Copy link
Member

@fingolfin fingolfin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks sane to me. I've resolved a conflict and hope this will now pass CI

@fingolfin fingolfin added the merge me PR is reviewed. Merge when all tests are passing label Feb 14, 2025
@giordano giordano merged commit 2364719 into JuliaLang:master Feb 15, 2025
8 checks passed
@giordano giordano added backport 1.12 Change should be backported to release-1.12 and removed merge me PR is reviewed. Merge when all tests are passing labels Feb 15, 2025
KristofferC pushed a commit that referenced this pull request Feb 15, 2025
fixes #55831

(cherry picked from commit 2364719)
@KristofferC KristofferC mentioned this pull request Feb 15, 2025
31 tasks
@oscardssmith oscardssmith deleted the os/pow-signed-zeros branch February 15, 2025 21:56
KristofferC added a commit that referenced this pull request Feb 17, 2025
Backported PRs:
- [x] #57346 <!-- lowering: Only try to define the method once -->
- [x] #57341 <!-- bpart: When backdating replace the entire bpart chain
-->
- [x] #57381 <!-- staticdata: Set min validation world to require world
-->
- [x] #57357 <!-- Only implicitly `using` Base, not Core -->
- [x] #57383 <!-- staticdata: Fix typo in recursive edge revalidation
-->
- [x] #57385 <!-- bpart: Move kind enum into its intended place -->
- [x] #57275 <!-- Compiler: fix unsoundness of getfield_tfunc on Tuple
Types -->
- [x] #57378 <!-- print admonition for auto-import only once per module
-->
- [x] #57392 <!-- [LateLowerGCFrame] fix PlaceGCFrameReset for
returns_twice -->
- [x] #57388 <!-- Bump JuliaSyntax to v1.0.2 -->
- [x] #57266 <!-- 🤖 [master] Bump the Statistics stdlib from d49c2bf to
77bd570 -->
- [x] #57395 <!-- lowering: fix has_fcall computation -->
- [x] #57204 <!-- Clarify mathematical definition of `gcd` -->
- [x] #56794 <!-- Make `Pairs` public -->
- [x] #57407 <!-- staticdata: corrected implementation of
jl_collect_new_roots -->
- [x] #57405 <!-- bpart: Also partition the export flag -->
- [x] #57420 <!-- Compiler: Fix check for IRShow definedness -->
- [x] #55875 <!-- fix `(-Inf)^-1` inconsistency -->
- [x] #57317 <!-- internals: add _defaultctor function for defining
ctors -->
- [x] #57406 <!-- bpart: Ignore guard bindings for ambiguity purposes
-->
- [x] #49933 <!-- Allow for :foreigncall to transition to GC safe
automatically -->
@KristofferC KristofferC removed the backport 1.12 Change should be backported to release-1.12 label Feb 17, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bugfix This change fixes an existing bug maths Mathematical functions
Projects
None yet
Development

Successfully merging this pull request may close these issues.

(-Inf)^-1 inconsistency for Float64
5 participants