| sypopd |
|
Table of contents
Procedure
SYPOPD ( Pop a value from a particular symbol )
SUBROUTINE SYPOPD ( NAME, TABSYM, TABPTR, TABVAL, VALUE, FOUND )
Abstract
Pop a value associated with a particular symbol in a double
precision symbol table. The first value associated with the
symbol is removed, and subsequent values are moved forward.
Required_Reading
SYMBOLS
Keywords
SYMBOLS
Declarations
IMPLICIT NONE
INTEGER LBCELL
PARAMETER ( LBCELL = -5 )
CHARACTER*(*) NAME
CHARACTER*(*) TABSYM ( LBCELL:* )
INTEGER TABPTR ( LBCELL:* )
DOUBLE PRECISION TABVAL ( LBCELL:* )
DOUBLE PRECISION VALUE
LOGICAL FOUND
Brief_I/O
VARIABLE I/O DESCRIPTION
-------- --- --------------------------------------------------
NAME I Name of the symbol whose associated value is to be
popped.
TABSYM,
TABPTR,
TABVAL I-O Components of the symbol table.
VALUE O Value that was popped.
FOUND O .TRUE. if the symbol exists, .FALSE. otherwise.
Detailed_Input
NAME is the name of the symbol whose associated value is to
be popped.
TABSYM,
TABPTR,
TABVAL are the components of a double precision symbol table.
Detailed_Output
TABSYM,
TABPTR,
TABVAL are the components of a double precision symbol table.
The value is removed from the symbol table, and the
remaining values associated with the symbol are moved
forward in the value table. If no other values are
associated with the symbol, the symbol is removed from
the symbol table.
VALUE is the value that was popped. This value was the first
value in the symbol table that was associated with the
symbol NAME.
FOUND is .TRUE. if NAME is in the symbol table, otherwise
it is .FALSE.
Parameters
None.
Exceptions
None.
Files
None.
Particulars
If there are no remaining values associated with the symbol
after VALUE has been popped, the symbol is removed from the
symbol table.
Examples
The contents of the symbol table are:
BODY4_POLE_RA --> 3.17681D2
1.08D-1
0.0D0
DELTA_T_A --> 3.2184D1
K --> 1.657D-3
MEAN_ANOM --> 6.239996D0
1.99096871D-7
ORBIT_ECC --> 1.671D-2
The call,
CALL SYPOPD ( 'MEAN_ANOM', TABSYM, TABPTR, TABVAL,
. VALUE, FOUND )
modifies the contents of the symbol table to be:
BODY4_POLE_RA --> 3.17681D2
1.08D-1
0.0D0C
DELTA_T_A --> 3.2184D1
K --> 1.657D-3
MEAN_ANOM --> 1.99096871D-7
ORBIT_ECC --> 1.671D-2
FOUND is .TRUE., and VALUE is 6.239996D0.
The next call,
CALL SYPOPD ( 'K', TABSYM, TABPTR, TABVAL, VALUE, FOUND )
modifies the contents of the symbol table to be:
BODY4_POLE_RA --> 3.17681D2
1.08D-1
0.0D0C
DELTA_T_A --> 3.2184D1
MEAN_ANOM --> 1.99096871D-7
ORBIT_ECC --> 1.671D-2
FOUND is .TRUE., and VALUE is 1.657D-3. Note that because
"K" had only one value associated with it, it was removed
from the symbol table.
Restrictions
None.
Literature_References
None.
Author_and_Institution
J. Diaz del Rio (ODC Space)
H.A. Neilan (JPL)
W.L. Taber (JPL)
I.M. Underwood (JPL)
Version
SPICELIB Version 1.1.0, 08-APR-2021 (JDR)
Added IMPLICIT NONE statement.
Edited the header to comply with NAIF standard.
SPICELIB Version 1.0.1, 10-MAR-1992 (WLT)
Comment section for permuted index source lines was added
following the header.
SPICELIB Version 1.0.0, 31-JAN-1990 (IMU) (HAN)
|
Fri Dec 31 18:37:00 2021