15 SUBROUTINE gbytesc(IN,IOUT,ISKIP,NBYTE,NSKIP,N)
18 integer ones(8), tbit, bitcnt
20 data ones/1,3,7,15,31,63,127,255/
28 nbit = nbit + nbyte + nskip
31 tbit = min(bitcnt,8-ibit)
32 itmp = iand(
mova2i(in(index)),ones(8-ibit))
33 if (tbit.ne.8-ibit) itmp = ishft(itmp,tbit-8+ibit)
35 bitcnt = bitcnt - tbit
38 do while (bitcnt.ge.8)
39 itmp = ior(ishft(itmp,8),
mova2i(in(index)))
46 itmp = ior(ishft(itmp,bitcnt),iand(ishft(
mova2i(in(index)),
47 1 -(8-bitcnt)),ones(bitcnt)))
subroutine gbytesc(in, iout, iskip, nbyte, nskip, n)
Extract arbitrary size values from a packed bit string, right justifying each value in the unpacked a...