remlac |
Table of contents
ProcedureREMLAC ( Remove elements from a character array ) SUBROUTINE REMLAC ( NE, LOC, ARRAY, NA ) AbstractRemove one or more elements from a character array at the indicated location. Required_ReadingNone. KeywordsARRAY ASSIGNMENT DeclarationsIMPLICIT NONE INTEGER NE INTEGER LOC CHARACTER*(*) ARRAY ( * ) INTEGER NA Brief_I/OVARIABLE I/O DESCRIPTION -------- --- -------------------------------------------------- NE I Number of elements to be removed. LOC I Location of the first removed element. ARRAY I-O Input/output array. NA I-O Number of elements in the input/output array. Detailed_InputNE is the number of elements to be removed. LOC is the location in the array at which the first element is to be removed. ARRAY on input, is the original array. NA on input, is the number of elements in ARRAY. Detailed_OutputARRAY on output, is the original array with elements LOC through LOC+NE-1 removed. Succeeding elements are moved forward to fill the vacated spaces. NA on output, is the number of elements in ARRAY. ParametersNone. Exceptions1) If LOC is not in the interval [1, NA], the error SPICE(INVALIDINDEX) is signaled. 2) If the number of elements to be removed is greater than the number of elements that can be removed, the error SPICE(NONEXISTELEMENTS) is signaled. 3) If NE is less than one, the array is not modified. 4) If NA is less than one, any location is invalid, and, the error SPICE(INVALIDINDEX) is signaled. FilesNone. ParticularsThe elements in positions LOC through LOC+NE-1 are overwritten as the elements beginning at LOC+NE are moved back. ExamplesLet NA = 7 ARRAY(1) = 'The' ARRAY(2) = 'boy' ARRAY(3) = 'in' ARRAY(4) = 'the' ARRAY(5) = 'park' ARRAY(6) = 'fell' ARRAY(7) = 'down' Then the call CALL REMLAC ( 3, 3, ARRAY, NA ) yields the following result: NA = 4 ARRAY(1) = 'The' ARRAY(2) = 'boy' ARRAY(3) = 'fell' ARRAY(4) = 'down' The following calls would signal errors: CALL REMLAC ( 3, 1, ARRAY, -1 ) CALL REMLAC ( 3, -1, ARRAY, 7 ) CALL REMLAC ( 3, 6, ARRAY, 7 ) RestrictionsNone. Literature_ReferencesNone. Author_and_InstitutionJ. Diaz del Rio (ODC Space) W.L. Taber (JPL) I.M. Underwood (JPL) VersionSPICELIB Version 1.1.0, 05-JUN-2021 (JDR) Added IMPLICIT NONE statement. Edited the header to comply with NAIF standard. 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) |
Fri Dec 31 18:36:42 2021