Files
Nia Waldvogel bc9708f51a compiler: fix min/max on floats by using intrinsics
This fixes two edge cases for min/max:
min/max(+0.0, -0.0) = -0.0, +0.0
min/max(number, NaN) = NaN, NaN

The compare and select method does not work here.
I switched to the llvm.minimum/llvm.maximum intrinsics which match the intended behavior.

The integer min/max were also swapped over to using intrinsics.
The compare and select path is now only used by strings.
2026-01-05 19:46:06 +00:00

8 lines
184 B
Plaintext

min/max: -3 5
min/max: -3.000000e+000 +5.000000e+000
min/max: -0.000000e+000 +0.000000e+000
min/max: NaN NaN
cleared s[:3]: 0 0 0 4 5
cleared map: 0
added to cleared map: four 1