TorchLean API

FloatLib.Floats.Formats.BinaryInterchange.Operations.Proof.InvalidSignals

Invalid flags for adjacency and number-preferring extrema #

nextUp, nextDown, minimumNumber, and maximumNumber deliver a value without a status. With status := true they add the invalid indicator required for a signaling NaN operand by IEEE 754-2019 (§5.3.1 for the adjacent-value operations, §9.6 for the number-preferring selections). This module proves that the value is unchanged, that invalid is raised exactly for a signaling operand, and that no other indicator is set.

@[simp]

nextUp with status := true delivers the value of nextUp.

@[simp]

nextUp raises invalid exactly for a signaling NaN input.

nextUp raises no indicator other than invalid.

@[simp]

nextDown with status := true delivers the value of nextDown.

@[simp]

nextDown raises invalid exactly for a signaling NaN input.

nextDown raises no indicator other than invalid.

@[simp]

minimumNumber with status := true delivers the value of minimumNumber.

@[simp]

minimumNumber raises invalid exactly when an operand is a signaling NaN.

minimumNumber raises no indicator other than invalid.

@[simp]

maximumNumber with status := true delivers the value of maximumNumber.

@[simp]

maximumNumber raises invalid exactly when an operand is a signaling NaN.

maximumNumber raises no indicator other than invalid.