about summary refs log tree commit diff
path: root/library/compiler-builtins/libm/src/math/generic/fminimum_num.rs
AgeCommit message (Collapse)AuthorLines
2025-06-13fmaximum,fminimum: Fix incorrect result and add testsTrevor Gross-7/+10
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.
2025-06-02cleanup: Use `x.biteq(y)` rather than `x.to_bits() == y.to_bits()`Trevor Gross-6/+5
2025-05-05Replace `super::super` with `crate::support` where possibleTrevor Gross-1/+1
Since `crate::support` now works in both `compiler-builtins` and `libm`, we can get rid of some of these unusual paths.
2025-04-19libm: Flatten the `libm/libm` directoryTrevor Gross-0/+27