34 SUBROUTINE pad(IBAY,IBIT,IBYT,IPADB)
36 CHARACTER*128 BORT_STR
45 ipad = ipadb - mod(ibit+8,ipadb)
48 CALL pkb(ipad,8,ibay,ibit)
50 CALL pkb(0,ipad,ibay,ibit)
53 IF(mod(ibit,ipadb).NE.0)
GOTO 900
54 IF(mod(ibit,8 ).NE.0)
GOTO 901
60 900
WRITE(bort_str,
'("BUFRLIB: PAD - THE INPUT BIT BOUNDARY TO PAD '//
61 .
'TO (",I8,") IS NOT A MULTIPLE OF 8")') ipadb
63 901
WRITE(bort_str,
'("BUFRLIB: PAD - THE NUMBER OF BITS IN A PACKED'//
64 .
' SUBSET AFTER PADDING (",I8,") IS NOT A MULTIPLE OF 8")') ibit
subroutine bort(STR)
Log one error message and abort application program.
subroutine pad(IBAY, IBIT, IBYT, IPADB)
This subroutine first packs the value for the number of bits being "padded" (we'll get to that later)...
subroutine pkb(NVAL, NBITS, IBAY, IBIT)
This subroutine encodes an integer value within a specified number of bits of an integer array,...