33 lines
		
	
	
		
			535 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
		
		
			
		
	
	
			33 lines
		
	
	
		
			535 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
|   | subroutine fqso_first(nfqso,ntol,ca,ncand) | ||
|  | 
 | ||
|  | ! If a candidate was found within +/- ntol of nfqso, move it into ca(1). | ||
|  | 
 | ||
|  |   type candidate | ||
|  |      real freq | ||
|  |      real dt | ||
|  |      real sync | ||
|  |      real flip | ||
|  |   end type candidate | ||
|  |   type(candidate) ca(300),cb | ||
|  | 
 | ||
|  |   dmin=1.e30 | ||
|  |   i0=0 | ||
|  |   do i=1,ncand | ||
|  |      d=abs(ca(i)%freq-nfqso) | ||
|  |      if(d.lt.dmin) then | ||
|  |         i0=i | ||
|  |         dmin=d | ||
|  |      endif | ||
|  |   enddo | ||
|  | 
 | ||
|  |   if(dmin.lt.float(ntol)) then | ||
|  |      cb=ca(i0) | ||
|  |      do i=i0,2,-1 | ||
|  |         ca(i)=ca(i-1) | ||
|  |      enddo | ||
|  |      ca(1)=cb | ||
|  |   endif | ||
|  | 
 | ||
|  |   return | ||
|  | end subroutine fqso_first |