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
prtenc

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

     PRTENC ( Encode a character string, portably )

     SUBROUTINE PRTENC ( NUMBER, STRING )

Abstract

     Encode a nonnegative integer number into a character string,
     portably, using 128 as the base for encoding.

Required_Reading

     None.

Keywords

     CELLS
     CHARACTER

Declarations

     IMPLICIT NONE

     INTEGER            NUMBER
     CHARACTER*(*)      STRING

     INTEGER            MINLEN
     PARAMETER        ( MINLEN = 5 )

Brief_I/O

     VARIABLE  I/O  DESCRIPTION
     --------  ---  --------------------------------------------------
     NUMBER     I   Number to be encoded.
     STRING     O   Encoded string.
     MINLEN     P   Minimum length of string.

Detailed_Input

     NUMBER   is an arbitrary nonnegative integer.

Detailed_Output

     STRING   is the character string implied by the ASCII
              interpretation of NUMBER when converted to its
              base 128 representation.

              Let L be the declared length of STRING, and let
              NUMBER be given by

                                  0           1                 L-1
                 NUMBER = a    128  + a    128  + ... + a    128
                           1           2                 L

              Then

                 STRING(i:i) = CHAR(a )   for i = 1, L
                                     i

              Note that, just as for any other "numbers",
              the "digits" in STRING are arranged from right
              to left in order of increasing significance.
              The string is, in effect, "padded with nulls"
              on the left.

Parameters

     MINLEN   is the minimum length of a string into which a
              number may be encoded. In order to avoid padding
              long strings with hundreds, possibly thousands
              of null characters, only the first MINLEN characters
              of the string are actually used. Note that this
              also allows the encoded number to be preserved
              during assignments,

                 STR1 = STR2

              so long as both strings are of length MINLEN or
              greater.

Exceptions

     1)  If the length of the output string is less than MINLEN,
         the error SPICE(INSUFFLEN) is signaled.

     2)  If the number to be encoded is negative, the error
         SPICE(OUTOFRANGE) is signaled.

                                                       MINLEN
     3)  If the number to be encoded is larger than 128       - 1,
         the error SPICE(OUTOFRANGE) is signaled.

Files

     None.

Particulars

     This routine is identical to ENCHAR, except that this routine
     does not use the machine-dependent encoding base returned by
     the SPICELIB routine CHBASE. Instead, the base 128 is used.
     This base is expected to work on all systems supporting ASCII
     encoding of characters.

Examples

     See: SCARDC, SSIZEC.

Restrictions

     None.

Literature_References

     None.

Author_and_Institution

     N.J. Bachman       (JPL)
     J. Diaz del Rio    (ODC Space)
     W.L. Taber         (JPL)

Version

    SPICELIB Version 1.1.0, 12-AUG-2021 (JDR)

        Added IMPLICIT NONE statement.

        Edited the header to comply with NAIF standard.

    SPICELIB Version 1.0.0, 19-DEC-1995 (NJB) (WLT)
Fri Dec 31 18:36:40 2021