23 lines
		
	
	
		
			348 B
		
	
	
	
		
			Fortran
		
	
	
	
	
	
		
		
			
		
	
	
			23 lines
		
	
	
		
			348 B
		
	
	
	
		
			Fortran
		
	
	
	
	
	
|   | subroutine pctile(x,npts,npct,xpct)
 | ||
|  | 
 | ||
|  |   parameter (NMAX=128*1024)
 | ||
|  |   real*4 x(npts)
 | ||
|  |   real*4 tmp(NMAX)
 | ||
|  | 
 | ||
|  |   if(npts.le.0) then
 | ||
|  |      xpct=1.0
 | ||
|  |      go to 900
 | ||
|  |   endif
 | ||
|  |   if(npts.gt.NMAX) stop
 | ||
|  | 
 | ||
|  |   tmp(1:npts)=x
 | ||
|  |   call shell(npts,tmp)
 | ||
|  |   j=nint(npts*0.01*npct)
 | ||
|  |   if(j.lt.1) j=1
 | ||
|  |   if(j.gt.npts) j=npts
 | ||
|  |   xpct=tmp(j)
 | ||
|  | 
 | ||
|  | 900 continue
 | ||
|  |   return
 | ||
|  | end subroutine pctile
 |