Given a number x and an array of non-decreasing numbers, find the index of the largest array element less than x.
VARIABLE I/O DESCRIPTION -------- --- -------------------------------------------------- x I Value to search against n I Number elements in array array I Array of possible lower bounds The function returns the index of the last element of array that is less than x.
x Double precision number. n Total number of elements in array. array Array of double precision numbers which forms a non-decreasing sequence. The elements of array need not be distinct.
The function returns the index of the highest-indexed element in the input array that is less than x. The routine assumes the array elements are sorted in non-decreasing order. Indices range from 0 to n-1. If all elements of the input array are greater than or equal to x, the function returns -1.
Note: If you need to find the first element of the array that is greater than or equal to x, simply add 1 to the result returned by this function and check to see if the result is within the array bounds given by n.
1) Let array be assigned the following values: array = -2.0; array = -2.0; array = 0.0; array = 1.0; array = 1.0; array = 11.0; The table below demonstrates the behavior of lstltd_c: Call Returned Value =========================== ============== lstltd_c ( -3.0, 6, array ) -1 lstltd_c ( -2.0, 6, array ) -1 lstltd_c ( 0.0, 6, array ) 1 lstltd_c ( 1.0, 6, array ) 2 lstltd_c ( 11.1, 6, array ) 5
If the sequence of elements in array is not non-decreasing, the program will run to completion but the index found will not mean anything.
Error free. 1) In the case that n is input with value less than or equal to zero, the function returns -1. 2) If the input array is not sorted in increasing order, the output of this routine are undefined. No error is signaled.
N.J. Bachman (JPL) W.L. Taber (JPL)
-CSPICE Version 1.0.0, 10-JUL-2002 (NJB) (WLT)
last d.p. element less_than