Index of Functions: A  B  C  D  E  F  G  H  I  J  K  L  M  N  O  P  Q  R  S  T  U  V  W  X 
Index Page
sytrni

Table of contents
Procedure
Abstract
Required_Reading
Keywords
Declarations
Brief_I/O
Detailed_Input
Detailed_Output
Parameters
Exceptions
Files
Particulars
Examples
Restrictions
Literature_References
Author_and_Institution
Version

Procedure

     SYTRNI (Transpose two values associated with a symbol)

     SUBROUTINE SYTRNI ( NAME, IDX1, IDX2, TABSYM, TABPTR, TABVAL )

Abstract

     Transpose two values associated with a particular symbol in an
     integer symbol table.

Required_Reading

     SYMBOLS

Keywords

     SYMBOLS

Declarations

     IMPLICIT NONE

     INTEGER               LBCELL
     PARAMETER           ( LBCELL = -5 )

     CHARACTER*(*)         NAME
     INTEGER               IDX1
     INTEGER               IDX2
     CHARACTER*(*)         TABSYM     ( LBCELL:* )
     INTEGER               TABPTR     ( LBCELL:* )
     INTEGER               TABVAL     ( LBCELL:* )

Brief_I/O

     VARIABLE  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_Input

     NAME     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.

     IDX2     is the index of the second associated value to be
              transposed.

     TABSYM,
     TABPTR,
     TABVAL   are components of the integer symbol table.

Detailed_Output

     TABSYM,
     TABPTR,
     TABVAL   are components of the integer 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.

Parameters

     None.

Exceptions

     1)  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.

Files

     None.

Particulars

     None.

Examples

     The contents of the symbol table are:

        books   -->   5
        erasers -->   6
        pencils -->  12
                     18
                     24
        pens    -->  10
                     20
                     30
                     40

     The call,

     CALL SYTRNI ( 'pens', 2, 3, TABSYM, TABPTR, TABVAL )

     modifies the contents of the symbol table to be:

        books   -->   5
        erasers -->   6
        pencils -->  12
                     18
                     24
        pens    -->  10
                     30
                     20
                     40
     The next call,

     CALL SYTRNI ( 'pencils', 2, 4, TABSYM, TABPTR, TABVAL )

     causes the error SPICE(INVALIDINDEX) to be signaled.

Restrictions

     None.

Literature_References

     None.

Author_and_Institution

     N.J. Bachman       (JPL)
     J. Diaz del Rio    (ODC Space)
     H.A. Neilan        (JPL)
     W.L. Taber         (JPL)
     I.M. Underwood     (JPL)

Version

    SPICELIB 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