Trailing-Edge
-
PDP-10 Archives
-
bb-bt99g-bb
-
mthdbl.c13
There is 1 other file named mthdbl.c13 in the archive. Click here to see a list.
REP 4/1 ;13C1
TV MTHDBL DOUBLE PRECISION ROUTINES ,2(4011)
WIT
TV MTHDBL DOUBLE PRECISION ROUTINES ,2(4020)
INS 111/1 ;13C2
4020 DCE 17-Dec-85
The GFLOATING exponentiation routine uses an incorrect method of
getting the exponent of the magnitude of certain intermediate
GFLOATING numbers. A MOVM on the first word of the double word
value is used followed by stripping out the exponent field.
This does not work for all negative GFLOATING numbers where the
mantissa part in the first word is all zero (the first
non-zero bit of the mantissa is in the second word). Due to the
fact that these errors occur in an intermediate calculation,
it is impossible to specify the class of input numbers which
will result in this problem.
REP 241/13 ;13C3
WOK2: SETZ G2, ;ZERO G2
MOVM G1,T2 ;GET HIGH ORDER OF W
WIT
WOK2: SKIPGE G1,T2 ;[4020] GET |W|
DMOVN G1,T2 ;[4020] THE HARD WAY (IF NEGATIVE)
SETZ G2, ;ZERO G2
REP 256/13 ;13C4
MOVM T0,T4 ;SAVE A COPY OF ABS(W)
WIT
SKIPGE T0,T4 ;[4020] SAVE A COPY OF ABS(W)
DMOVN T0,T4 ;[4020] THE HARD WAY (IF NEGATIVE)
REP 271/13 ;13C5
MOVM T4,T2 ;SAVE A COPY OF ABS(W2)
WIT
SKIPGE T4,T2 ;[4020] SAVE A COPY OF ABS(W2)
DMOVN T4,T2 ;[4020] THE HARD WAY (IF NEGATIVE)
SUM 248247