cyclad |
Table of contents
ProcedureCYCLAD ( Cycle the elements of a DP array ) SUBROUTINE CYCLAD ( ARRAY, NELT, DIR, NCYCLE, OUT ) AbstractCycle the elements of a double precision array forward or backward. Required_ReadingNone. KeywordsARRAY DeclarationsIMPLICIT NONE DOUBLE PRECISION ARRAY ( * ) INTEGER NELT CHARACTER*1 DIR INTEGER NCYCLE DOUBLE PRECISION OUT ( * ) Brief_I/OVARIABLE I/O DESCRIPTION -------- --- -------------------------------------------------- ARRAY I Input array. NELT I Number of elements. DIR I Direction to cycle: 'F' or 'B'. NCYCLE I Number of times to cycle. OUT O Cycled array. Detailed_InputARRAY is the array to be cycled. NELT is the number of elements in the input array. DIR is the direction in which the elements in the array are to be cycled. 'F' or 'f' to cycle forward. 'B' or 'b' to cycle backward. NCYCLE is the number of times the elements in the array are to be cycled. Detailed_OutputOUT is the input array after it has been cycled. ParametersNone. Exceptions1) If the value of DIR is not recognized, the error SPICE(INVALIDDIRECTION) is signaled. 2) If NELT is less than 1, the output array is not modified. 3) If NCYCLE is negative, the array is cycled NCYCLE times in the opposite direction of DIR. FilesNone. ParticularsAn array is cycled when its contents are shifted forward or backward by one place. An element pushed off one end of the array is brought around to the other end of the array instead of disappearing. ExamplesLet the double precision A contain the following elements. A(1) = 1.D0 A(2) = 2.D0 A(3) = 3.D0 A(4) = 4.D0 Cycling A forward once yields the array A(1) = 4.D0 A(2) = 1.D0 A(3) = 2.D0 A(4) = 3.D0 Cycling A backward once yields the array A(1) = 2.D0 A(2) = 3.D0 A(3) = 4.D0 A(4) = 1.D0 Cycling by any multiple of the number of elements in the array yields the same array. Restrictions1) The memory used for the output array must be disjoint from the memory used for the input array. Literature_ReferencesNone. Author_and_InstitutionN.J. Bachman (JPL) J. Diaz del Rio (ODC Space) H.A. Neilan (JPL) B.V. Semenov (JPL) W.L. Taber (JPL) I.M. Underwood (JPL) VersionSPICELIB Version 1.1.0, 20-AUG-2021 (JDR) Added IMPLICIT NONE statement. Edited the header to comply with NAIF standard. SPICELIB Version 1.0.3, 18-MAY-2010 (BVS) Removed "C$" marker from text in the header. SPICELIB Version 1.0.2, 23-APR-2010 (NJB) Header correction: assertions that the output can overwrite the input have been removed. 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) (WLT) (HAN) |
Fri Dec 31 18:36:05 2021