24 lines
		
	
	
		
			360 B
		
	
	
	
		
			Fortran
		
	
	
	
	
	
		
		
			
		
	
	
			24 lines
		
	
	
		
			360 B
		
	
	
	
		
			Fortran
		
	
	
	
	
	
|   | subroutine packname(name,len,n1,n2)
 | ||
|  | 
 | ||
|  |   character*9 name
 | ||
|  |   real*8 dn
 | ||
|  | 
 | ||
|  |   dn=0
 | ||
|  |   do i=1,len
 | ||
|  |      n=ichar(name(i:i))
 | ||
|  |      if(n.ge.97 .and. n.le.122) n=n-32
 | ||
|  |      dn=27*dn + n-64
 | ||
|  |   enddo
 | ||
|  |   if(len.lt.9) then
 | ||
|  |      do i=len+1,9
 | ||
|  |         dn=27*dn
 | ||
|  |      enddo
 | ||
|  |   endif
 | ||
|  | 
 | ||
|  |   n2=mod(dn,32768.d0)
 | ||
|  |   dn=dn/32768.d0
 | ||
|  |   n1=dn
 | ||
|  | 
 | ||
|  |   return
 | ||
|  | end subroutine packname
 |