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
syputc

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

     SYPUTC ( Set the values associated with a symbol )

     SUBROUTINE SYPUTC ( NAME, VALUES, N, TABSYM, TABPTR, TABVAL )

Abstract

     Set the values of a particular symbol in a character symbol table.
     If the symbol already exists, the previous values associated with
     it are removed, otherwise a new symbol is created.

Required_Reading

     SYMBOLS

Keywords

     SYMBOLS

Declarations

     IMPLICIT NONE

     INTEGER               LBCELL
     PARAMETER           ( LBCELL = -5 )

     CHARACTER*(*)         NAME
     CHARACTER*(*)         VALUES     (        * )
     INTEGER               N
     CHARACTER*(*)         TABSYM     ( LBCELL:* )
     INTEGER               TABPTR     ( LBCELL:* )
     CHARACTER*(*)         TABVAL     ( LBCELL:* )

Brief_I/O

     VARIABLE  I/O  DESCRIPTION
     --------  ---  --------------------------------------------------
     NAME       I   Name of the symbol whose associated values are to
                    be put into the symbol table.
     VALUES     I   Values to be associated with the symbol NAME.
     N          I   Number of values in VALUES.
     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 set.

              If NAME has values associated with it, they are removed,
              and the elements of VALUES become the values associated
              with NAME. If NAME is not in the symbol table, a new
              symbol is created, provided there is room in the symbol
              table.

     VALUES   are the new values associated with the symbol NAME.

     N        is the number of elements in the VALUES array.

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

Detailed_Output

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

              If NAME has values associated with it, they are removed,
              and the elements of VALUES become the values associated
              with NAME. If NAME is not in the symbol table, a new
              symbol is created, provided there is room in the symbol
              table.

Parameters

     None.

Exceptions

     1)  If the addition of a new symbol causes an overflow in the
         name table, the error SPICE(NAMETABLEFULL) is signaled.

     2)  If the addition of a new symbol causes an overflow in the
         pointer table, the error SPICE(POINTERTABLEFULL) is signaled.

     3)  If the addition of new values causes an overflow in the
         value table, the error SPICE(VALUETABLEFULL) is signaled.

     4)  If N < 1, the error SPICE(INVALIDARGUMENT) is signaled.

Files

     None.

Particulars

     This subroutine is like SYSETC, but SYPUTC allows **several**
     values to be associated with a symbol.

     If NAME has values associated with it, they are removed, and
     the elements of VALUES become the values associated with NAME.
     If NAME is not in the symbol table, a new symbol is created,
     provided there is room in the symbol table.

Examples

     The contents of the symbol table are:

        BOHR      -->   HYDROGEN ATOM
        FERMI     -->   NUCLEAR FISSION
        PAULI     -->   NEUTRINO

     If VALUES contains the elements,

          SPECIAL RELATIVITY
          PHOTOELECTRIC EFFECT
          BROWNIAN MOTION

     the call

        CALL SYPUTC ( 'EINSTEIN', VALUES, 3, TABSYM, TABPTR, TABVAL )

     modifies the contents of the symbol table to be:

        BOHR      -->   HYDROGEN ATOM
        ENISTEIN  -->   SPECIAL RELATIVITY
                        PHOTOELECTRIC EFFECT
                        BROWNIAN MOTION
        FERMI     -->   NUCLEAR FISSION
        PAULI     -->   NEUTRINO

     The call,

        CALL SYPUTC ( 'PAULI', VALUES, 3, TABSYM, TABPTR, TABVAL )

     modifies the contents of the symbol table to be:

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

     Note that the previous values associated with PAULI have been
     replaced by the values in VALUES.

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. Removed
        unnecessary $Revisions section.

    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