mirror of
				https://github.com/saitohirga/WSJT-X.git
				synced 2025-11-03 13:30:52 -05:00 
			
		
		
		
	git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@3299 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
		
			
				
	
	
		
			23 lines
		
	
	
		
			481 B
		
	
	
	
		
			Fortran
		
	
	
	
	
	
			
		
		
	
	
			23 lines
		
	
	
		
			481 B
		
	
	
	
		
			Fortran
		
	
	
	
	
	
subroutine unpackbits(sym,nsymd,m0,dbits)
 | 
						|
 | 
						|
! Unpack bits from sym() into dbits(), one bit per byte.
 | 
						|
! NB: nsymd is the number of input words, and m0 their length.
 | 
						|
! there will be m0*nsymd output bytes, each 0 or 1.
 | 
						|
 | 
						|
  integer sym(nsymd)
 | 
						|
  integer*1 dbits(*)
 | 
						|
 | 
						|
  k=0
 | 
						|
  do i=1,nsymd
 | 
						|
     mask=ishft(1,m0-1)
 | 
						|
     do j=1,m0
 | 
						|
        k=k+1
 | 
						|
        dbits(k)=0
 | 
						|
        if(iand(mask,sym(i)).ne.0) dbits(k)=1
 | 
						|
        mask=ishft(mask,-1)
 | 
						|
     enddo
 | 
						|
  enddo
 | 
						|
 | 
						|
  return
 | 
						|
end subroutine unpackbits
 |