Trailing-Edge
-
PDP-10 Archives
-
decus_20tap2_198111
-
decus/20-0026/datsm.doc
There are 2 other files named datsm.doc in the archive. Click here to see a list.
SUBROUTINE DATSM
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 DATSM (X,Z,F,IROW,ICOL,ARG,VAL,NDIM)
DESCRIPTION OF PARAMETERS
X - DOUBLE PRECISION SEARCH ARGUMENT.
Z - DOUBLE PRECISION VECTOR OF ARGUMENT VALUES (DIMEN-
SION IROW). THE ARGUMENT VALUES MUST BE STORED IN
INCREASING OR DECREASING SEQUENCE.
F - IN CASE ICOL=1, F IS THE DOUBLE PRECISION VECTOR
OF FUNCTION VALUES (DIMENSION IROW).
IN CASE ICOL=2, F IS A DOUBLE PRECISION IROW BY 2
MATRIX. THE FIRST COLUMN SPECIFIES VECTOR OF FUNC-
TION VALUES AND THE SECOND 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 - RESULTING DOUBLE PRECISION VECTOR OF SELECTED AND
ORDERED ARGUMENT VALUES (DIMENSION NDIM).
VAL - RESULTING DOUBLE PRECISION VECTOR OF SELECTED
FUNCTION VALUES (DIMENSION NDIM) IN CASE ICOL=1.
IN CASE ICOL=2, VAL IS THE DOUBLE PRECISION VECTOR
OF FUNCTION AND DERIVATIVE VALUES (DIMENSION
2*NDIM) WHICH ARE STORED IN PAIRS (I.E. EACH FUNC-
TION 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 DATSM.
SUBROUTINE DATSM ESPECIALLY CAN BE USED FOR GENERATING THE
TABLE (ARG,VAL) NEEDED IN SUBROUTINES DALI, DAHI, AND DACFI.
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.