mirror of
https://github.com/saitohirga/WSJT-X.git
synced 2024-11-16 00:51:56 -05:00
25 lines
517 B
Fortran
25 lines
517 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(*)
|
||
|
integer*1 n1
|
||
|
equivalence (n,n1)
|
||
|
|
||
|
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
|