SUBROUTINE GB_BYIN ( input, n, iout, iret ) C************************************************************************ C* GB_BYIN * C* * C* This subroutine returns the integer value of every byte in the input * C* integer. If N is less than or equal to 128, INPUT and IOUT may be * C* the same array. * C* * C* GB_BYIN ( INPUT, N, IOUT, IRET ) * C* * C* Input parameters: * C* INPUT (N) INTEGER Input integer array * C* N INTEGER Number of elements in INPUT * C* * C* Output parameters: * C* IOUT (N*4) INTEGER Array of values of bytes * C* IRET INTEGER Return code * C* 0 = normal return * C** * C* Log: * C* K. Brill/NMC 5/91 * C************************************************************************ INTEGER input (*), iout (*) C* CHARACTER*512 ich C----------------------------------------------------------------------- iret = 0 C* in = 1 io = 1 DO WHILE ( in .le. n ) istop = in + 127 IF ( istop .gt. n ) istop = n inn = istop - in + 1 C C* Load character array. C CALL ST_ITOS ( input (in), inn, inc, ich, ier ) C C* Find integer values for the bytes. C DO i = 1, inc iout (io) = ICHAR ( ich (i:i) ) io = io + 1 END DO C* in = in + 128 END DO C* RETURN END