J3/04-110 Date: 08 Dec. 2003 To: J3 From: Dan Nagle Subject: S= on Epsilon(), RRSpacing(), Spacing() An implementations of real numbers where using an exponent and mantissa format (corrsponding to the Fortran model), epsilon, rrspacing and spacing may depend upon the direction as well as the origin of the request. Therefore, add a S= parameter to these intrinsics. Number: Title: S= on EPSILON, RRSPACING, SPACING Submitted By: J3 Status: For Consideration References: Sections 13.7.35, 13.7.100, 13.7.113 Basic Functionality: Add direction to epsilon, rrspacing, spacing Rationale: At those numbers where one step causes an exponent to change, the step size changes, too. This information should be available to those programs needing it. The nearest and ieee_nextafter procedures accept a direction argument, S= (s for sign, I suppose) to signal the direction in which the request is being made. This ability should be available to programs calling epsilon, rrspacing and spacing as well. Estimated Impact: No other procedures will be affected. There is some cost to determining the requested delta, but not more than in implementing these procedures in the first place. Detailed Specification: Add "[, S= s-r-e ]" to epsilon, rrspacing, spacing. Add language similar to that in nearest(): "The result has a value equal to the in the direction of the infinity with the same sign as S." History: