sytrnd |
Table of contents
ProcedureSYTRND (Transpose two values associated with a symbol) SUBROUTINE SYTRND ( NAME, IDX1, IDX2, TABSYM, TABPTR, TABVAL ) AbstractTranspose two values associated with a particular symbol in a double precision symbol table. Required_ReadingSYMBOLS KeywordsSYMBOLS DeclarationsIMPLICIT NONE INTEGER LBCELL PARAMETER ( LBCELL = -5 ) CHARACTER*(*) NAME INTEGER IDX1 INTEGER IDX2 CHARACTER*(*) TABSYM ( LBCELL:* ) INTEGER TABPTR ( LBCELL:* ) DOUBLE PRECISION TABVAL ( LBCELL:* ) Brief_I/OVARIABLE I/O DESCRIPTION -------- --- -------------------------------------------------- NAME I Name of the symbol whose associated values are to be transposed. IDX1 I Index of first associated value to be transposed. IDX2 I Index of second associated value to be transposed. TABSYM, TABPTR, TABVAL I-O Components of the symbol table. Detailed_InputNAME is the name of the symbol whose associated values are to be transposed. If NAME is not in the symbol table, the symbol tables are not modified. IDX1 is the index of the first associated value to be transposed. If this index is not valid (IDX1 < 1 or IDX1 > the dimension of NAME) the symbol table is not modified. IDX2 is the index of the second associated value to be transposed. If this index is not valid (IDX2 < 1 or IDX2 > the dimension of NAME) the symbol table is not modified. TABSYM, TABPTR, TABVAL are components of the double precision symbol table. Detailed_OutputTABSYM, TABPTR, TABVAL are components of the double precision symbol table. If the symbol NAME is not in the symbol table the symbol tables are not modified. Otherwise, the values that IDX1 and IDX2 refer to are transposed in the value table. ParametersNone. Exceptions1) If IDX1 < 1, IDX2 < 1, IDX1 > the dimension of NAME, or IDX2 > the dimension of NAME, the error SPICE(INVALIDINDEX) is signaled. 2) If NAME is not in the symbol table, the symbol tables are not modified. FilesNone. ParticularsNone. ExamplesThe contents of the symbol table are: DELTA_T_A --> 3.2184D1 K --> 1.657D-3 MEAN_ANOM --> 6.239996D0 1.99096871D-7 ORBIT_ECC --> 1.671D-2 BODY4_POLE_RA --> 3.17681D2 1.08D-1 0.0D0 The call, CALL SYTRND ( 'BODY4_POLE_RA', 2, 3, TABSYM, TABPTR, TABVAL ) modifies the contents of the symbol table to be: DELTA_T_A --> 3.2184D1 K --> 1.657D-3 MEAN_ANOM --> 6.239996D0 1.99096871D-7 ORBIT_ECC --> 1.671D-2 BODY4_POLE_RA --> 3.17681D2 0.0D0C 1.08D-1 The next call, CALL SYTRND ( 'MEAN_ANOM', 2, 4, TABSYM, TABPTR, TABVAL ) causes the error SPICE(INVALIDINDEX) to be signaled. RestrictionsNone. Literature_ReferencesNone. Author_and_InstitutionN.J. Bachman (JPL) J. Diaz del Rio (ODC Space) H.A. Neilan (JPL) W.L. Taber (JPL) I.M. Underwood (JPL) VersionSPICELIB Version 1.2.0, 08-APR-2021 (JDR) Added IMPLICIT NONE statement. Changed the name of input arguments "I" and "J" to "IDX1" and "IDX2" for consistency with other routines. Edited the header to comply with NAIF standard. SPICELIB Version 1.1.0, 09-SEP-2005 (NJB) Updated so no "exchange" occurs if IDX1 equals IDX2. 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:01 2021