Google
 

Trailing-Edge - PDP-10 Archives - decuslib10-02 - 43,50145/ssp.man
There are 2 other files named ssp.man in the archive. Click here to see a list.




            Scientific Subroutine Package (SSP)











Program Title            Scientific Subroutine Package,
                         Version III

Program Origin           IBM System/360 Application Program
                         Number 360A-CM-03X

Source Language          FORTRAN IV

Program Description      "The Scientific Subroutine Package
                         (SSP) is a collection of over 250
                         FORTRAN subroutines divided, for
                         the sake of presentation, into two
                         groups: statistics and mathematics.
                         Also, over 200 subroutines are
                         presented in both single and double
                         precision mode.  SSP is a
                         collection of input/output-free
                         computational building blocks that
                         can be combined with a user's
                         input, output, or computational
                         routines to meet his needs."

Program Documentation    This document describes the
                         implementation and use of SSP on
                         the Wesleyan Computing Center
                         DECSystem-10.  The user is referred
                         to System/360 Scientific Subroutine
                         Package, Version III, Programmer's
                         Manual (IBM publication
                         gh20-0205-4) for complete
                         descriptions and listings of the
                         subroutines.  Copies of this manual
                         are in the keypunch room, the
                         computer room, and the WCC library.

Date                     1973 July 22
Scientific Subroutine Package                       PAGE   2



Using SSP on the Dec-10

     Various files related to SSP are kept in four different
places.  The relocatable binary files of the SSP routines
are in the indexed library file WES:SSP.REL.  The test cases
(in card deck format for input to CDRSTK) are on DECtape
D00011.  MAGtape M02017 contains a separate description of
each program.  MAGtape M12142 contains all of the above,
plus the source files for all SSP routines, plus control
files for compiling and arranging the sources.

LIBRARY FILE

     To use one or more unmodified SSP routines with your
main program, simply include CALLs to those routines (the
calling sequences are described in the IBM SSP Programmer's
Manual) in your program and add ",WES:SSP/LIBRARY" to your
LOAD, EXECUTE, or DEBUG command string.  The LOADER will
load those (and only those) SSP routines that your program
calls.

SAMPLE DECKS

     If you want to run one of the SSP sample decks, (e. g.
DASCR - data screening) type the following:

     .LOGIN 30,30             (30,30 is the demonstration
                               PPN)
     .MOUNT DTA SSP/VID:D00011/WLOCKED
     .R CDRSTK
     *START SSP:DASCR.CDK     (CDRSTK treats the file as if
                               it's a card deck)
     *^C
     .DISMOUT SSP/REMOVE
     .KJOB/F

Listings of the sample main program and any special sample
subroutines that it calls, the output from the program, and
a log file describing what happened will all be printed.  If
you want to use a sample main program with your own data, or
to modify one for your own purposes, get a copy of the
program and any special sample subroutines it calls from
M12142 (see below).

INDIVIDUAL PROGRAM DESCRIPTIONS

     M02017 contains a separate description of each SSP
subroutine, sample main program, and special sample
subroutine (except FUN).  These descriptions consist of the
text from the comment cards at the beginning of each
program.  Each program description contains purpose, usage,
description of parameters, remarks, subroutines and function
subprograms required, and method.  The tape is in FAILSAFE
Scientific Subroutine Package                       PAGE   3
Using SSP on the Dec-10


format.  The files are in alphabetical order and have the
extension .DOC.  To get descriptions of, for example, MINV,
MULTR, and EIGEN, type:

     .MOUNT MTA FAILSAFE/VID:M02017/WLOCKED
     .R FAILSAFE
     */W
     */G50,1107
     *EIGEN.DOC,MINV.DOC,MULTR.DOC
     *^C
     .UNLOAD FAILSAFE:
     .DISMOUNT FAILSAFE/REMOVE
     .PRINT/FORM:3HOLE/HEADER:0/DISPOSE:RENAME *.DOC

Note that if the files are not requested in the order in
which they appear on the tape (in this case, alphabetical),
FAILSAFE will search the tape more than once in order to
find the files.

M02017

     This tape is a 556 bpi double FAILSAFE of [50,1107].
If you want to get a copy of the source code for any SSP
program, this is where it's at.  It contains the following
files:

     SSP.DIR     Checksum directory of the files on the tape
     SSP.RNO     The source for this document
     SSP.MAN     This thing
     SSP.CCL     PIP command file to rename all SSP files to
                 a different directory in this order.
     SSP.CTL     Batch control file to compile, list, and
                 fudge all SSP subroutines
     SSP.CMD     Lists all SSP sources in the order in which
                 their .REL files will appear in the library
                 file.  The order is essentially
                 alphabetical, except that a few files were
                 moved so that the LOADER won't miss
                 anything on a one-pass search.
     SSP.REL     The indexed library file created by SSP.CTL
                 containing what's listed in SSP.CMD
     *.CDK       Card image sample decks for input to CDRSTK
     *.SSP       The subroutine source files.  The order of
                 these and of *.SMP and *.SSS is the same as
                 that in the "CATEGORICAL GUIDE TO
                 SUBROUTINES AND SAMPLE PROGRAMS" in the SSP
                 Programmer's Manual.
     LOC.MAC     MACRO rewrite of LOC
     *.SMP       Sample main programs
     *.SSS       Special sample subroutines
     LOC.IBM     The original FORTRAN LOC (replaced with a
                 MACRO version)
     RANDU.IBM   The IBM 360 machine-specific RANDU which
Scientific Subroutine Package                       PAGE   4
Using SSP on the Dec-10


                 has been replaced with a routine which
                 simply calls SETRAN, RAN, and SAVRAN.
     *.DOC       Individual program document files (see
                 description above).  The order is
                 alphabetical.


Implementation

Modifications

1)   RANDU, which is, of course, machine-specific, has been
     replaced with a routine that uses the same calling
     sequence as RANDU but calls SETRAN, RAN, and SAVRAN to
     do the work.  The original RANDU is on the tape as
     RANDU.IBM.

2)   The maximum magnitude of an exponent on the 360 is
     about twice that on the 10.  The following programs
     were changed accordingly: TALLY, TAB1, TAB2, MISR,
     SMIRN, MPAIR, BDTR, CDTR, NDTRI, BISER, PHI, POINT,
     TETRA, RECP, ACFI, DACFI, DCAR, DDCAR, DBAR, DDBAR,
     GMMMA, DLGAM, BESY, BESK, EXPI, SICI, CEL1, DCEL1,
     CEL2, DCEL2.

3)   The package contains several Gaussian quadrature
     routines.  In three of these (DQL32, DQH64, DQA32) the
     exponents of the coefficients of some of the terms in
     the series were too small (i.  e.  too far negative).
     In each of these cases the exponent of each term in the
     series was increased by 20 and the sum of the series
     was multiplied by 1d-20.

4)   Tests for end of card file were inserted in the sample
     programs.

5)   A call to the subroutine VARMX in the sample program
     FACTO was short one argument.  That was fixed.

6)   The very frequently used LOC routine was rewritten in
     MACRO.  The rewrite runs 3 to 5 times faster.


Testing

     The sample programs were run and the results were
compared with those given in the IBM SSP manual.  The
results agreeed within the accuracies of the machines.  One
sample program, SMPRT produced 3992 floating overflows, but
correct results.  According to the documentation on POLRT
(the subroutine which SMPRT uses) this is not unexpected.