5 * Revision 1.1.1.1 1996/02/15 17:49:48 mclareni
9 #include "kerngen/pilot.h"
10 #if !defined(CERNLIB_QMILSTD)
11 FUNCTION ISHFTC(I,K,L)
13 C CERN PROGLIB# M441 ISHFTC .VERSION KERNFOR 4.16 870601
14 C ORIG. 01/10/85 T.LINDELOF
16 C FORTRAN VERSION OF MIL-STD-1753 ISHFTC FUNCTION
17 C K IS THE SHIFT COUNT - NEGATIVE TO THE RIGHT
18 C POSITIVE TO THE LEFT
19 C L IS THE NUMBER OF THE RIGHTMOST BITS TO BE SHIFTED, ALL
20 C OTHER BITS ARE LEFT UNCHANGED
22 #include "kerngen/wordsize.inc"
23 #include "kerngen/iall1s.inc"
25 #include "kerngen/q_andor.inc"
29 ISHFTC = IOR(IAND(ISHFT(IALL11, L), I),
30 + IOR(ISHFT(ISHFT(I, NBITPW-L), K-NBITPW),
31 + ISHFT(ISHFT(I, NBITPW-L+K), L-NBITPW)))
33 ISHFTC = IOR(IAND(ISHFT(IALL11, L), I),
34 + IOR(ISHFT(ISHFT(I, NBITPW-L), L+K-NBITPW),
35 + ISHFT(ISHFT(I, NBITPW+K), L-NBITPW) ))