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
sydupc

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

     SYDUPC ( Create a duplicate of a symbol )

     SUBROUTINE SYDUPC ( NAME, COPY, TABSYM, TABPTR, TABVAL )

Abstract

     Create a duplicate of a symbol within a character symbol table.
     If a symbol with the new name already exists, its components
     are replaced.

Required_Reading

     SYMBOLS

Keywords

     SYMBOLS

Declarations

     IMPLICIT NONE

     INTEGER               LBCELL
     PARAMETER           ( LBCELL = -5 )

     CHARACTER*(*)         NAME
     CHARACTER*(*)         COPY
     CHARACTER*(*)         TABSYM     ( LBCELL:* )
     INTEGER               TABPTR     ( LBCELL:* )
     CHARACTER*(*)         TABVAL     ( LBCELL:* )

Brief_I/O

     VARIABLE  I/O  DESCRIPTION
     --------  ---  --------------------------------------------------
     NAME       I   Name of the symbol to be duplicated.
     COPY       I   Name of the new symbol.
     TABSYM,
     TABPTR,
     TABVAL    I-O  Components of the symbol table.

Detailed_Input

     NAME     is the name of the symbol to be duplicated.

              The components associated with NAME will be given to the
              new symbol COPY. If NAME is not in the symbol table, no
              duplicate symbol can be made.

     COPY     is the name of the new symbol. If a symbol with the name
              COPY already exists in the symbol table, its components
              are replaced by the components of NAME.

     TABSYM,
     TABPTR,
     TABVAL   are the components of a character symbol table.

Detailed_Output

     TABSYM,
     TABPTR,
     TABVAL   are the components of a character symbol table.

              On output, the symbol table contains a new symbol COPY
              whose components are the same as the components of NAME.

Parameters

     None.

Exceptions

     1)  If the symbol NAME is not in the symbol table, the error
         SPICE(NOSUCHSYMBOL) is signaled.

     2)  If duplication of the symbol causes an overflow in the
         name table, the error SPICE(NAMETABLEFULL) is signaled.

     3)  If duplication of the symbol causes an overflow in the
         pointer table, the error SPICE(POINTERTABLEFULL) is signaled.

     4)  If duplication of the symbol causes an overflow in the
         value table, the error SPICE(VALUETABLEFULL) is signaled.

Files

     None.

Particulars

     If the symbol NAME is not in the symbol table, no duplicate symbol
     can be made.

     If the symbol COPY is already in the symbol table, its components
     are replaced by the components of NAME.

Examples

     The contents of the symbol table are:

        BOHR      -->   HYDROGEN ATOM
        EINSTEIN  -->   SPECIAL RELATIVITY
                        PHOTOELECTRIC EFFECT
                        BROWNIAN MOTION
        FERMI     -->   NUCLEAR FISSION

     The code,

        CALL SYDUPC ( 'FERMI', 'HAHN', TABSYM, TABPTR, TABVAL )

     produces the symbol table:

        BOHR      -->   HYDROGEN ATOM
        EINSTEIN  -->   SPECIAL RELATIVITY
                        PHOTOELECTRIC EFFECT
                        BROWNIAN MOTION
        FERMI     -->   NUCLEAR FISSION
        HAHN      -->   NUCLEAR FISSION

     The code,

        CALL SYDUPC ( 'STRASSMAN', 'HAHN', TABSYM, TABPTR, TABVAL )

     produces the error SPICE(NOSUCHSYMBOL) because the symbol
     "STRASSMAN" is not in 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:36:59 2021