next up previous index
Next: M427 Pack/Unpack Continuous Up: CERNLIB Previous: M423 Increment a

M426 Unpack Full Words into Bytes

Routine ID: M426
Author(s): CDC: J. Blake, G. Beltz, IBM: A. BerglundLibrary: KERNLIB
Submitter: Submitted: 12.06.1972
Language: Fortran or AssemblerRevised: 01.02.1982

BLOW converts a source array containing a record consisting of a continuous string of NBYTES bytes of NBITS bits per byte into a target array of NBYTES full words, right-adjusted with zero-fill. BLOW is the inverse of BUNCH (M436).

Structure:

SUBROUTINE subprogram
User Entry Names: BLOW
External References: UPKCH (M427)

Usage:

    CALL BLOW(SOURCE,TARGET,NBYTES,NBITS)
SOURCE
Source array containing the string of NBYTES bytes.
TARGET
Target array, which must be at least NBYTES full words long.
NBYTES
Number of bytes in the source record (0 < NBYTES ).
NBITS
Number of bits per byte (0 < NBITS ≤nbpw , where nbpw = 60 on CDC and = 32 on IBM).

Restrictions:

The two arrays SOURCE and TARGET must not overlap in any way.

Error handling:

BLOW ignores calls with erroneous parameter values.

Examples:

CDC:

    CALL BLOW(SOURCE,TARGET,200,18)
The array SOURCE contains a record of 200 18-bit bytes, stored contiguously in 60 60-bit words, i.e., a string of 3600 bits. After the completion of the call to BLOW, the array TARGET will contain 200 60-bit words, each containing one 18-bit byte, right-justified with zero-fill.

M427


Janne Saarela
Mon Apr 3 15:06:23 METDST 1995