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
syputd

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

     SYPUTD ( Set the values associated with a symbol )

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

Abstract

     Set the values of a particular symbol in a double precision
     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
     DOUBLE PRECISION      VALUES     (        * )
     INTEGER               N
     CHARACTER*(*)         TABSYM     ( LBCELL:* )
     INTEGER               TABPTR     ( LBCELL:* )
     DOUBLE PRECISION      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. If N < 1,
              the symbol table is not modified.

     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.

              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:

        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

     If VALUES contains the elements,

          3.17692D2
          1.085D-1
          1.000D-5

     the call

        CALL SYPUTC ( 'BODY4_POLE_RA', VALUES, 3,
       .                               TABSYM, TABPTR, TABVAL )

     modifies the contents of the symbol table to be:

        BODY4_POLE_RA -->    3.17692D2
                             1.085D-1
                             1.000D-5
        DELTA_T_A     -->    3.2184D1
        K             -->    1.657D-3
        MEAN_ANOM     -->    6.239996D0
                             1.99096871D-7
        ORBIT_ECC     -->    1.671D-2C

     The call,

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

     modifies the contents of the symbol table to be:

        BODY4_POLE_RA -->    3.17692D2
                             1.085D-1
                             1.000D-5
        DELTA_T_A     -->    3.2184D1
        K             -->    3.17692D2
                             1.085D-1
                             1.000D-5
        MEAN_ANOM     -->    6.239996D0
                             1.99096871D-7
        ORBIT_ECC     -->    1.671D-2

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

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.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.2, 06-AUG-1996 (WLT)

        Fixed the error in the abstract noticed by Ian Jordan
        at the University of Maryland, College Park.

    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) (NJB)
Fri Dec 31 18:37:00 2021