about summary refs log tree commit diff
path: root/compiler/rustc_codegen_llvm/src
diff options
context:
space:
mode:
authorTrevor Gross <tmgross@umich.edu>2025-06-02 17:20:22 +0000
committerTrevor Gross <tmgross@umich.edu>2025-06-13 15:36:58 +0000
commit10ba25f7ce4b98ec0958ad7ce52bc2585f6fbb55 (patch)
tree9f787b44711261a047ddbf181c8a031e6a4e13a5 /compiler/rustc_codegen_llvm/src
parent013e06c5ffef976c8f9b197e63155477529ed369 (diff)
downloadrust-10ba25f7ce4b98ec0958ad7ce52bc2585f6fbb55.tar.gz
rust-10ba25f7ce4b98ec0958ad7ce52bc2585f6fbb55.zip
fmaximum,fminimum: Fix incorrect result and add tests
After adding tests, the current implementation for fminimum fails when
provided a negative zero and NaN as inputs:

    ---- math::fminimum_fmaximum_num::tests::fmaximum_num_spec_tests_f64 stdout ----

    thread 'math::fminimum_fmaximum_num::tests::fmaximum_num_spec_tests_f64' panicked at libm/src/math/fminimum_fmaximum_num.rs:240:13:
    fmaximum_num(-0x0p+0, NaN)
    l: NaN (0x7ff8000000000000)
    r: -0.0 (0x8000000000000000)

    ---- math::fminimum_fmaximum_num::tests::fmaximum_num_spec_tests_f32 stdout ----

    thread 'math::fminimum_fmaximum_num::tests::fmaximum_num_spec_tests_f32' panicked at libm/src/math/fminimum_fmaximum_num.rs:240:13:
    fmaximum_num(-0x0p+0, NaN)
    l: NaN (0x7fc00000)
    r: -0.0 (0x80000000)

Add more thorough spec tests for these functions and correct the
implementations.

Canonicalization is also moved to a trait method to centralize
documentation about what it does and doesn't do.
Diffstat (limited to 'compiler/rustc_codegen_llvm/src')
0 files changed, 0 insertions, 0 deletions