dxred.f
SUBROUTINE DXRED (X, IX, IERROR)
C***BEGIN PROLOGUE DXRED
C***PURPOSE To provide double-precision floating-point arithmetic
C with an extended exponent range.
C***LIBRARY SLATEC
C***CATEGORY A3D
C***TYPE DOUBLE PRECISION (XRED-S, DXRED-D)
C***KEYWORDS EXTENDED-RANGE DOUBLE-PRECISION ARITHMETIC
C***AUTHOR Lozier, Daniel W., (National Bureau of Standards)
C Smith, John M., (NBS and George Mason University)
C***DESCRIPTION
C DOUBLE PRECISION X
C INTEGER IX
C
C IF
C RADIX**(-2L) .LE. (ABS(X),IX) .LE. RADIX**(2L)
C THEN DXRED TRANSFORMS (X,IX) SO THAT IX=0.
C IF (X,IX) IS OUTSIDE THE ABOVE RANGE,
C THEN DXRED TAKES NO ACTION.
C THIS SUBROUTINE IS USEFUL IF THE
C RESULTS OF EXTENDED-RANGE CALCULATIONS
C ARE TO BE USED IN SUBSEQUENT ORDINARY
C DOUBLE-PRECISION CALCULATIONS.
C
C***SEE ALSO DXSET
C***REFERENCES (NONE)
C***ROUTINES CALLED (NONE)
C***COMMON BLOCKS DXBLK2
C***REVISION HISTORY (YYMMDD)
C 820712 DATE WRITTEN
C 881020 Revised to meet SLATEC CML recommendations. (DWL and JMS)
C 901019 Revisions to prologue. (DWL and WRB)
C 901106 Changed all specific intrinsics to generic. (WRB)
C Corrected order of sections in prologue and added TYPE
C section. (WRB)
C 920127 Revised PURPOSE section of prologue. (DWL)
C***END PROLOGUE DXRED