NAME: interp PURPOSE: (one line) One dimensional interpolation onto a new x grid (both irregular) DESCRIPTION: CATEGORY: Mathematical CALLING SEQUENCE: interp,x1,y1,x2,y2,e2,E1=e1 INPUTS: x1 - Input X array. y1 - Matching input Y array. x2 - New X array to interpolate Y to. OPTIONAL INPUT PARAMETERS: KEYWORD PARAMETERS: E1 - Array of uncertainties for Y. Default=equal uncertainties. OUTPUTS: y2 - Interpolated values of y1 that match the x2 array. e2 - Array of uncertainties for interpolated values. For each interpolation point, uncertainties are calculated using the left and the right uncertainties. The minimum of these becomes the final uncertainty. Returned only if E1 is specified. COMMON BLOCKS: SIDE EFFECTS: RESTRICTIONS: PROCEDURE: MODIFICATION HISTORY: Written by Marc W. Buie, Lowell Observatory, 1992 Sep 28. 5/19/93, DWL, Modified the uncertainty computation. 97/11/13, MWB, Moved e1 to a keyword, uncertainties are now optional. 98/4/2, MWB, Fixed bug in returned e2 value. 2000/01/31, MWB, Fixed minor bug in loop index, now converted to long. 2017/11/16, MWB, added trimrank call for scalar input so that output is also scalar