Trailing-Edge
-
PDP-10 Archives
-
BB-4157D-BM
-
documentation/frs5a.doc
There is 1 other file named frs5a.doc in the archive. Click here to see a list.
FOROTS-20 -- Changes from V5(620) to V5A(721)
October 1977
COPYRIGHT (C) 1976,1977 BY
DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.
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
TRANSFERRED.
THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT NOTICE
AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
CORPORATION.
DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DIGITAL.
FRS5A.DOC - FOROTS-20 Page 2
FOROTS-20 -- Changes from V5(620) to V5A(721)
October 1977
1.0 SUMMARY
FOROTS is the object time system that provides runtime support for
Fortran programs, including monitor interface functions for I/O, core
management and error handling. FORLIB is the Fortran library
containing the mathematical intrinsic functions and various external
subroutines.
The reason for this release is to correct outstanding bugs for FORTRAN
support in FOROTS version 5.
FOROTS version 5A is FOROTS version 5 with edits #620 through #721
inclusive. This version fully replaces versions 1, 1A, 2, 3, 4, 4A,
4B and 5.
1.1 Bibliography
FOROTS is documented in the FORTRAN-20 Programmer's Reference Manual
AA-4158B-TM.
1.2 Monitors
FOROTS will run on any monitor supported by DEC on the DECsystem-20.
1.3 Related System Software
The following system software must be used with the FOROTS system:
FORTRAN any version
LINK any version
MACRO version 52
MAKLIB version 2(20)
FRS5A.DOC - FOROTS-20 Page 3
2.0 EXTERNAL CHANGES
Lower case letters are now accepted as FORMAT descriptors as they are
already acceptable to the compiler. Lower case letters for D or E
exponents and True or False logical constants are now accepted.
The PLOTS plotter subroutine will now take an optional second argument
which is the step size for the plotter involved.
The ALOG function has been rewritten to improve the accuracy in
certain ranges.
When closing a file with DISPOSE='PRINT', the DEVICE= argument will be
used as the queue name to pass to QMANGR. It will NOT be error
checked.
Recovery from an ILLEGAL LSCW error on sequential input now scans
forward in the file until it finds a word which LOOKS LIKE (but can't
be guaranteed to be) a beginning LSCW to position the file at the
beginning of the next record.
If the argument value of the OPEN/CLOSE keyword DIRECTORY is zero, the
connected directory will be used instead of the logged-in one.
A tape density of 6250 is now accepted.
With free-format O format, a double precision argument in the iolist
will input to and output from both words.
On magtape I/O, if no DENSITY= is present, FOROTS will use the user
set or system default density.
The TRACE routine now works correctly when the subroutines in the CALL
history reside in OVERLAYs.
3.0 KNOWN BUGS AND DEFICIENCIES
FOROTS version 5 has the following deficiencies:
A) RANDOM ACCESS in DUMP mode is unimplemented in version 5 of
FOROTS. An appropriate error message will be issued if any
attempt is made to use RANDOM, RANDIN, or APPEND access with
DUMP mode. The user is advised to use IMAGE mode under such
circumstances.
B) REREAD on a TTY device only rereads at most the last 150
characters from the previous record.
C) FOROTS will not automatically handle multiple reel files on
MAGTAPE.
D) IMAGE mode I/O does not work on TTY.
FRS5A.DOC - FOROTS-20 Page 4
E) Encoding an array into the same array is not possible. (The
target array is first filled with blanks.)
F) FOROTS does not read line sequenced files directly.
G) RANDOM NUMBER generator routine fails if it is initialized
with a call to SETRAN with an argument of 2**31-1.
H) REREAD will not work with spooled devices unless the
RECORDSIZE is a multiple or divisor of 128 words.
I) Attempting to do a control-C and then @CLOSE while a file is
open for RANDOM I/O will cause lost data, extra spurious
data, or ADDRESS CHECK FOR DEVICE. The same problems can be
caused by attempting to EXIT from a MACRO subroutine while a
RANDOM access file is open.
4.0 INSTALLATION INSTRUCTIONS
The installation of the FOROTS/FORLIB system involves copying
FOROTS.EXE and FORLIB.REL from the release tape. If you desire to
assemble the FOROTS or FORLIB sources, a FORPRM.UNV file must be
created. Assemble (with MACRO 50(272) or later) FORPRM.MAC with
FORCPU.20.
See the file FTN5A.FIG for information regarding installation.
FRS5A.DOC - FOROTS-20 Page 5
5.0 INTERNAL CHANGES
The following is a list of all of the edits made to version 5(617) in
producing version 5A.
#620 SPR-21396 Allow lower case letters in FORMAT descriptors.
#621 SPR-21149 Enforce fixed-length records in IMAGE mode. This
will also fix RANDOM access in IMAGE mode.
#622 QAR-873 Fix NAMELIST partial arrays at end of list.
#623 SPR-21441 Use EXP2.. instead of EXP2.0 in FORPLT so that it
will load if FORSIN was compiled with F40LIB turned
off.
#624 SPR-19860 Changes to DEXP.2, DEXP.3, EXP.3 for consistent
SPR-20411 handling of negative single and double precision
numbers to non-integer powers. Also rearranged
order of FORDBL.MAC by reversing position of DEXP.2
and DEXP.3 to facilitate call from DEXP.3 to DEXP.2.
#625 SPR-none Fixes to FORTRP for double precision zero divide.
It should return plus or minus infinity, depending
on the sign of the dividend. 4B(460) always
returned positive infinity; after patch 531, zero
was returned.
#626 SPR-none Change data error 11 in ER%DAT in FORERR to specify
NAMELIST name and invalid variable name.
#627 SPR-21476 Allow ^C and @CLOSE when APPENDing to a null file.
#630 QAR-951 Avoid IO to unassigned channel if RENAME UUO to
delete a file with DISPOSE='DELETE' loses.
#631 SPR-21591 Fix SCALE in FORPLT so XMIN gets set right if
INT(lowest value/DX)=0, and prevent zero divides
when all values