Trailing-Edge
-
PDP-10 Archives
-
bb-bt99h-bb
-
mthgdb.c13
There is 1 other file named mthgdb.c13 in the archive. Click here to see a list.
REP 4/1 ;13C1
TV MTHGDB GFLOAT DOUBLE PRECISION ROUTINES ,2(4015)
WIT
TV MTHGDB GFLOAT DOUBLE PRECISION ROUTINES ,2(4020)
INS 93/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 P2, ;ZERO P2
MOVM P1,T2 ;GET HIGH ORDER OF W
WIT
WOK2: SKIPGE P1,T2 ;[4020] GET |W|
DMOVN P1,T2 ;[4020] THE HARD WAY (IF NEGATIVE)
SETZ P2, ;ZERO P2
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 215205