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
wncond

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

     WNCOND ( Contract the intervals of a DP window )

     SUBROUTINE WNCOND ( LEFT, RIGHT, WINDOW )

Abstract

     Contract each of the intervals of a double precision window.

Required_Reading

     WINDOWS

Keywords

     WINDOWS

Declarations

     IMPLICIT NONE

     INTEGER               LBCELL
     PARAMETER           ( LBCELL = -5 )

     DOUBLE PRECISION      LEFT
     DOUBLE PRECISION      RIGHT
     DOUBLE PRECISION      WINDOW  ( LBCELL:* )

Brief_I/O

     VARIABLE  I/O  DESCRIPTION
     --------  ---  --------------------------------------------------
     LEFT       I   Amount added to each left endpoint.
     RIGHT      I   Amount subtracted from each right endpoint.
     WINDOW    I-O  Window to be contracted.

Detailed_Input

     LEFT     is the amount to be added to the left endpoint of each
              interval in the input window. The amount LEFT is signed.

     RIGHT    is the amount to be subtracted from the right endpoint of
              each interval in the window. The amount RIGHT is signed.

     WINDOW   on input, is a window containing zero or more
              intervals.

Detailed_Output

     WINDOW   on output, is the original window with each of its
              intervals contracted by LEFT units on the left and
              RIGHT units on the right.

Parameters

     None.

Exceptions

     1)  The cardinality of the input WINDOW must be even. Left
         endpoints of stored intervals must be strictly greater than
         preceding right endpoints. Right endpoints must be greater
         than or equal to corresponding left endpoints. Invalid window
         data are not diagnosed by this routine and may lead to
         unpredictable results.

Files

     None.

Particulars

     This routine contracts (shortens) each of the intervals in
     the input window. The adjustments are not necessarily symmetric.
     That is, LEFT units are added to the left endpoint of each
     interval, and RIGHT units are subtracted from the right endpoint
     of each interval, where LEFT and RIGHT may be different.

     Intervals are dropped when they are contracted by amounts
     greater than their measures.

Examples

     Let WINDOW contain the intervals

           [ 1, 3 ]  [ 7, 11 ]  [ 23, 27 ]  [ 29, 29 ]

     Then the following series of calls

           CALL WNCOND (  2,  1, WINDOW )              (1)
           CALL WNCOND ( -2,  2, WINDOW )              (2)
           CALL WNCOND ( -2, -1, WINDOW )              (3)

     produces the following series of windows

           [ 9, 10 ]  [ 25, 26 ]                       (1)
           [ 7,  8 ]  [ 23, 24 ]                       (2)
           [ 5,  9 ]  [ 21, 25 ]                       (3)

     Note that intervals may be "contracted" by negative amounts.
     In the example above, the second call shifts each interval to
     the left, while the third call undoes the effect of the first
     call (without restoring the destroyed intervals).

     Note also that the third call is exactly equivalent to the
     call

           CALL WNEXPD ( 2, 1, WINDOW )

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, 06-JUL-2021 (JDR) (NJB)

        Added IMPLICIT NONE statement.

        Edited the header to comply with NAIF standard. Removed
        unnecessary $Revisions section.

        Added entry #1 in $Exceptions section. Extended LEFT and RIGHT
        description in $Detailed_Input.

    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 (WLT) (IMU) (HAN)
Fri Dec 31 18:37:07 2021