<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def isrchd(value, ndim, array):
 """ Search for a given value within a double precision array. Return the index of the first matching array entry, or -1 if the key value was not found. http://naif.jpl.nasa.gov/pub/naif/toolkit_docs/C/cspice/isrchd_c.html :param value: Key value to be found in array. :type value: float :param ndim: Dimension of array. :type ndim: int :param array: Double Precision array to search. :type array: Array of floats :return: The index of the first matching array element or -1 if the value is not found. :rtype: int """

    value = ctypes.c_double(value)
    ndim = ctypes.c_int(ndim)
    array = stypes.toDoubleVector(array)
    return libspice.isrchd_c(value, ndim, array)