Real semantics and executable refinement of P3109 square root #
The reference rounder takes the floor of a real square root and compares that root with the report's exact rounding thresholds. The executable rounder computes the same result using natural-number square roots and products. Neither implementation first projects a rational approximation of the root.
decode_projectSqrt composes this equality with the report's saturation and encoding
theorem. Reciprocal square root and hypotenuse reuse the same rounder after forming
their exact rational radicands.
The report's upper-candidate decision expressed using the real square root.
Instances For
Exact integer threshold tests implement real square-root rounding in every supplied mode.
Reference precision rounding takes the floor and threshold comparisons of a real root. As in the executable precision helper, the radicand magnitude is used, and the closed operation rejects negative inputs before calling this helper.
Instances For
The executable precision rounder equals the rounder defined with the real root.
Closed square-root reference, followed by the supplied report saturation policy.
Instances For
Closed executable square root refines the real-root reference for every input and policy.
Encoding and decoding preserves the single rounded and saturated square-root datum.
Decoding the square-root projector returns the real-root report reference.
Square root evaluates the source value and rounds once into the target.
Reciprocal square root projects the root of the exact reciprocal, with its report domain.
Hypotenuse projects the root of the exact sum of squares without intermediate overflow.