There are 5 other files named mthhst.mac in the archive. Click here to see a list.
TV MTHHST Math Library Revision History ,2(4021)
;COPYRIGHT (C) DIGITAL EQUIPMENT CORPORATION 1981, 1986
;ALL RIGHTS RESERVED.
;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
;ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE
;INCLUSION OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER
;COPIES THEREOF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY
;OTHER PERSON. NO TITLE TO AND OWNERSHIP OF THE SOFTWARE IS HEREBY
;THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT NOTICE
;AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
;DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
;SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DIGITAL.
***** Begin Revision History *****
3200 JLC 10-May-82
Mathlib integration. Change all LERRs to $LCALLs. Change
TWOSEG/RELOC to SEGMENT macros.
3201 RVM 17-May-82
Add the routine CMPX.G for converting two gfloating numbers to
complex, and fix a boundary condition that prevented an argument
of plus or minus one being used to routines GASIN and GACOS.
Modules: MTHCXP, MTHGDB
3202 JLC 26-May-82
Fix MTHERR, was referring to P1 as arg pointer. Fix square
bracket matching code.
3203 JLC 27-May-82
Fix trapping mechanism typo.
3204 JLC 2-Jun-82
Remove ERR segment, was of marginal utility.
3205 JLC 3-Jun-82
Moved error character to first argument in error macros and
3206 AHM 8-Jun-82
Remove CKS's older version of GINT. in favor of CDM's newer
3207 AHM 14-Jun-82
Remove definitions of random .JB??? symbols fron the FSRCH
macro and just have it always SEARCH JOBDAT.
3210 CKS 15-Jun-82
Insert changes from Mary Payne's memos of May 18, 1982 and
June 11, 1982.
3211 JLC 26-Jun-82
Separated variable type and "2nd error number" args in user
3212 JLC 12-Jul-82
Added %ERRPC to externs.
3213 JLC 20-Jul-82
Save user's PDP in %ERPDP in trap processing, so that error
processor can call GETPC to get module name.
3214 JLC 16-Aug-82
Fix code at NOCLRF so it gets the original flags into PC
for JRSTF. Turn off extraneous bits (namely, WRONGBIT) before
using index into XLOAD and XSTORE.
3215 RVM 20-Aug-82
Change a CAIGE to a CAIG in GINT. Numbers less than 1.00D0
were not being set to 0.00D0.
3216 JLC 3-Sep-82
Remove extraneous MTHDAR universal file and SEARCHes of it,
since it was moved to MTHPRM long ago.
3217 JLC 8-Oct-82
Modify SIXBIT names of the complex multiply and divide routines
so that TRACE won't look for an argument block.
3220 PLB 12-Oct-82
Remove IFIWs from FUNCT calls in MTH*.MAC, Add IFIW to FUNCT macro
Modules: MTHCPX, MTHPRM
3221 BCM 29-Oct-82
Moved SNGL, SNGL., and SNG.nn routines to the end of file
MTHSNG and out of MTHDBL. Resolves forward reference problem.
3222 JLC 9-Nov-82
Insert patch to MTHTRP to use APRENB instead of UTRP for
the KS-10, avoiding a microcode/monitor problem.
3223 CDM 11-Nov-82 Q 10-03002
Replace IFX.n routines as per customer QAR.
3224 JLC 10-Dec-82
Added new module MTHDUM for use of math library and MTHTRP
by MACRO programs.
3225 CKS 4-Jan-83
Clear floating underflow PC flag when returning from underflow trap
caught by JOV. Otherwise, since the JOV only clears overflow, you
get stray underflow flags left around.
3226 CKS 4-Jan-83 Q10-03055
Detect 0 ** 0 in EXP1. Return 0 instead of 1 for this case to be
consistent with EXP2., DEXP2., and CEXP2.
3227 CKS 5-Jan-83 Q20-06094
Incorporate rewritten EXP2, DEXP2, GEXP2 from Mary Payne. Fix problem
with overflow in CEXP3.
3230 JLC 12-Jan-83
Add OPDEFs to MTHPRM.
***** Begin Version 1A *****
3231 CKS 23-Mar-83
Work on RANS. Change the constant multiplier of the seed
from 16807 to 630360016 so that RANS matches RAN. Don't
use a FLTR to float the integer number, instead use a
MOVSI and a DFAD, since this will not cause the number to
be rounded. Optimize the routine by doing away with a
dead subtract instruction and by using an EXCH
3232 CKS 23-Mar-83
Rewrote DMOD to remove restrictions on the magnitudes of
3233 CKS 23-Mar-83
Rewrote GMOD to remove restrictions on the magnitudes of
3234 CKS 23-Mar-83
The maximum value of the arg to SIN was given erroneously
as 36394.429 instead of the correct value of 823549.66.
Fix this in the code and any of the comments which it
3235 RVM 24-Mar-83
Equate REAL to FLOAT. so that REAL is defined.
3236 PLB 25-Mar-83
Once again, change the FUNCT macro. It should
not OR the IFIW in, since that implies a 30 bit
3237 RVM 30-Mar-83
CGSQRT was not returning the primary square root (ie, the
result was not in the right half-plane). In addition,
there was an instruction which confused register T3 with
P3, and the underflow code didn't zero the result.
3240 RVM 30-Mar-83
CDSQRT used an old standard for register names, this edit
updated the routine to be more modern. Also, memory
locations allocated but not used were deleted.
3241 TGS 31-Mar-83
Fix FUNCT macro to correctly expand arguments of the type
(SUB,<<TP%SPR,adr>>). FORPL2 was getting Q compilation errors.
3242 TGS 1-Apr-83
Turn on FTGFL flag so gfloating arguments passed to MTHCDX routines
will correctly call their gfloating counterparts. Move ARGKWD, ARGTYP
and ARGADR definitions from FORPRM to MTHPRM and delete FTGFL flag
from FORPRM (Forots edit 3300).
3243 BCM 29-Mar-83
Get and clear PC flags with new GETFLG and RESFLG macros. Fixes
always clearing underflow in MTHTRP. Only applies to JOV branches.
MTHDBL, MTHGDB, MTHPRM, MTHSNG, MTHTRP
3244 TGS 07-Mar-83
Retract edit 3232 to MTHDBL. DMOD was returning inaccurate results
in the 2d word.
3245 MRB 11-Apr-83
DCOTAN routine pop's to meny AC's off the stack.
3246 The double precision sine and cosine functions destroy the
input variables. The result field gets written over the
input variable in some cases.
3247 10-33795 MRB 24-May-83
Fixed bug in the interface of CEXP2 with CEXP3, and to
fix bug in block 2 (of CEXP3) at XISO.
3251 10-34015 MRB 30-Aug-83
Added a special case in CEXP2. When the imaginary part of
the complex number is zero and the real part in an integer
call EXP2. instead. (This is edit 3344 to FOROT7)
3252 10-34127 MRB 27-Sep-83
Changed error message "integer overflow" to "Arithmetic
integer overflow" to avoid confusion with "Input integer
overflow" in MTHTRP. (This is edit 3352 to FOROT7.)
3253 10-34340 TGS 29-NOV-83
Make SEGMENT macro case-insensitive by converting its string
argument to SIXBIT. Edit 3370 to FOROT7.
3254 20-19812 MRB 13-Dec-83
The DEXP2. routine is failing to clear the result field on an
underflow. (This is edit 3374 to FOROT7.)
3255 20-19901 MRB 23-Jan-84
The CDLOG routine is returning an incorrect value for the case
(0,0) returns (+inifinity,0) should be (-infinity,0).
(This is edit 3404 to FOROT7.)
3257 20-20394 MRB 6-Nov-84
Clear out the extra bits if the COS routine when the result
is greater than one. This routine has a 3-bit error range and
in some cases, when the result is very close to one, this
three bit error range can put us over the maximum result of
one. This edit will scale the result down to one.
(this is FOROTS edit 3452)
***** End Revision History *****
***** Begin Version 2 *****
4000 JLC 1-Jul-83
Create MTHLIB.REL, a separate math library. Eliminate MTHEPR,
and make MTHPRM stand-alone. Create B20MTH.CTL to build
MTHLIB.REL, and associated M20LIB.CCL MAKLIB command file.
4001 PLB 6-Jul-83
Remove indexing from XJRSTF AC in RESFLG macro living in MTHPRM.
4002 JLC 3-Aug-83
Fix ordering problems for MTHSNG, MTHDBL, and MTHGDB. Tangent
functions call exponential functions, which were placed first.
LINK hid the problem until MTHLIB was searched via .REQUEST.
4003 JLC 8-Sep-83
Fix extended addressing bug in MTHDUM, found in parallel code
in FORERR long ago. Add MTHCNV.MAC to MTHLIB, initially containing
the power of ten tables.
4004 JLC 26-Sep-83
Moved most of FORCNV to MTHCNV. Modified INTO to use string
instructions, and to allow double word output.
4005 JLC 5-Oct-83
Added code to do truncation for FLOUT if %FTAST not set.
Fixed INTO to suppress leading blanks if %FTSLB set.
4006 JLC 27-Oct-83
Fixed new FLOUT for outsize scale factors and decimal widths.
Removed "arithmetic" from integer overflow message.
4007 JLC 29-Feb-84
Add some AC definitions, remove those foreign to MTHLIB.
4010 JLC 16-Mar-84
Add some new error macros.
4011 JLC 4-May-84
Add code for MOD, AMOD, DMOD, and GMOD for 2nd arg=0.
4012 MRB 6-Jun-84
Change the names of routines SETRAN, SAVRAN, GTODA, DTOGA to
dotted names (STRAN.,SVRAN.,GTODA.,DTOGA.) to allow the FORTRAN
compatibility flagger to work.
4013 JLC 12-Jun-84
Fix TOPS-10 trapping.
4014 MRB 18-Jul-84
The double precision sine and cosine functions destroy the
input variables. The result field gets written over the
input variable in some cases. Module: MTHCGX
4015 MRB 17-Aug-84
Change GABS., GMAX1., GMIN1. & GSIGN. to <nnn.+0> to get
macro to generate the correct polish stuff.
4016 JLC 17-Oct-84
Remove DCALL and DJCAL, as they really belong in FORPRM.
4017 JLC 16-Jan-84
Remove IF10s and IF20s from GETFLG and RESFLG in MTHPRM.
Fix trapping code at OVNONZ in MTHTRP.
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.
4021 MRB 13-Jan-86
The math library may not give the correct name of the math function
in which an error was detected. This is due to the incorrect
computation of the high-segment starting address. (This is edit 4221
to FOROTS) Module: MTHDUM