Google
 

Trailing-Edge - PDP-10 Archives - decuslib20-02 - decus/20-0026/atsm.doc
There are 2 other files named atsm.doc in the archive. Click here to see a list.
SUBROUTINE ATSM

PURPOSE
   NDIM POINTS OF A GIVEN TABLE WITH MONOTONIC ARGUMENTS ARE
   SELECTED AND ORDERED SUCH THAT
   ABS(ARG(I)-X).GE.ABS(ARG(J)-X) IF I.GT.J.

USAGE
   CALL ATSM (X,Z,F,IROW,ICOL,ARG,VAL,NDIM)

DESCRIPTION OF PARAMETERS
   X	  - THE SEARCH ARGUMENT.
   Z	  - THE VECTOR OF ARGUMENT VALUES (DIMENSION IROW).
	    THE ARGUMENT VALUES MUST BE STORED IN INCREASING
	    OR DECREASING SEQUENCE.
   F	  - IN CASE ICOL=1, F IS THE VECTOR OF FUNCTION VALUES
	    (DIMENSION IROW).
	    IN CASE ICOL=2, F IS AN IROW BY 2 MATRIX. THE FIRST
	    COLUMN SPECIFIES THE VECTOR OF FUNCTION VALUES AND
	    THE SECOND THE VECTOR OF DERIVATIVES.
   IROW   - THE DIMENSION OF VECTOR Z AND OF EACH COLUMN
	    IN MATRIX F.
   ICOL   - THE NUMBER OF COLUMNS IN F (I.E. 1 OR 2).
   ARG	  - THE RESULTING VECTOR OF SELECTED AND ORDERED
	    ARGUMENT VALUES (DIMENSION NDIM).
   VAL	  - THE RESULTING VECTOR OF SELECTED FUNCTION VALUES
	    (DIMENSION NDIM) IN CASE ICOL=1. IN CASE ICOL=2,
	    VAL IS THE VECTOR OF FUNCTION AND DERIVATIVE VALUES
	    (DIMENSION 2*NDIM) WHICH ARE STORED IN PAIRS (I.E.
	    EACH FUNCTION VALUE IS FOLLOWED BY ITS DERIVATIVE
	    VALUE).
   NDIM   - THE NUMBER OF POINTS WHICH MUST BE SELECTED OUT OF
	    THE GIVEN TABLE (Z,F).

REMARKS
   NO ACTION IN CASE IROW LESS THAN 1.
   IF INPUT VALUE NDIM IS GREATER THAN IROW, THE PROGRAM
   SELECTS ONLY A MAXIMUM TABLE OF IROW POINTS.  THEREFORE THE
   USER OUGHT TO CHECK CORRESPONDENCE BETWEEN TABLE (ARG,VAL)
   AND ITS DIMENSION BY COMPARISON OF NDIM AND IROW, IN ORDER
   TO GET CORRECT RESULTS IN FURTHER WORK WITH TABLE (ARG,VAL).
   THIS TEST MAY BE DONE BEFORE OR AFTER CALLING
   SUBROUTINE ATSM.
   SUBROUTINE ATSM ESPECIALLY CAN BE USED FOR GENERATING THE
   TABLE (ARG,VAL) NEEDED IN SUBROUTINES ALI, AHI, AND ACFI.

SUBROUTINES AND FUNCTION SUBPROGRAMS REQUIRED
   NONE

METHOD
   SELECTION IS DONE BY SEARCHING THE SUBSCRIPT J OF THAT
   ARGUMENT, WHICH IS NEXT TO X (BINARY SEARCH).
   AFTERWARDS NEIGHBOURING ARGUMENT VALUES ARE TESTED AND
   SELECTED IN THE ABOVE SENSE.