Viewing contents of file '../idllib/ghrs/pro/avspt.pro'
function avspt,f,e,kk   ;find single point zeros in IUEHI file and remove
;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
;+
;
;*NAME: AVSPT
;
;*PURPOSE: Find single point zeros in IUEHI file and remove
;
;*CALLING SEQUENCE:
;	result = avspt(f,e,kk)
;
;*MODIFICATION HISTORY:
;         F Walter - 6/90 - donated to GHRS DAF.
;         Mar 27 1991      JKF/ACC    - moved to GHRS DAF (IDL Version 2)
;-
;-------------------------------------------------------------------------------
; 
np=n_elements(e)-1
case 1 of
   (min(e) eq 0) and (max(e) lt 10): k=where(e gt 1)
   (min(e) lt 0)                   : k=where(e lt -200)
   else                            : k=where(e eq 0)
   endcase
;if k(0) eq -1 then return,f
if n_elements(k) le 1 then return,f
k1=[k(1:*),np]

nk=n_elements(k)
dum = lonarr(np)
dum(0: nk-1) = k
k2=[0L,dum]

dk1=(k1-k)-1    ; dist to next point
dk2=(k-k2)-1
dk=dk1*dk2


dum =where(dk ne 0)
if dum(0) eq -1 then kk=k(0) else $
	kk=k(dum)       ;single point zeros
if kk(0) eq 0 then begin
   if n_elements(kk) gt 1 then kk=kk(1:*) else return,f   ;first point only
   endif
nkk=n_elements(kk)

if kk(nkk-1) eq np then begin
   if nkk gt 1 then kk=kk(0:nkk-2) else return,f   ;last point only
   endif
nkk=n_elements(kk)
if (not(!noprint)) then print,nkk,' single point zeros being restored'
ff=f
for i=0,nkk-1 do ff(kk(i))=(ff(kk(i)-1)+ff(kk(i)+1))/2.
return,ff
end