Warning, /include/hepdb/l3bitx.inc is written in an unsupported language. File is not indexed.
0001 *
0002 * $Id$
0003 *
0004 * $Log$
0005 * Revision 1.2 2006/09/15 09:35:14 mclareni
0006 * Submitted mods for gcc4/gfortran and MacOSX, corrected to work also on slc4 with gcc3.4 and 4.1
0007 *
0008 * Revision 1.1.1.1 1996/02/28 16:24:06 mclareni
0009 * Hepdb, cdlib, etc
0010 *
0011 *
0012 #ifndef CERNLIB_HEPDB_L3BITX_INC
0013 #define CERNLIB_HEPDB_L3BITX_INC
0014 *
0015 *
0016 * l3bitx.inc
0017 *
0018 #if defined(CERNLIB_APOLLO)
0019 #include "hepdb/l3bits.inc"
0020 MSBIT (MZ,IZW,IZP) = OR (AND (IZW, NOT(LSHFT(1,IZP-1)) )
0021 + , LSHFT(AND(MZ,1),IZP-1) )
0022 *
0023 MCBYT (MZ,IZQ,IZW,IZP,NZB) = OR ( AND (IZW, NOT(
0024 + LSHFT (RSHFT(NOT(INT4(0)),32-NZB), IZP-1)))
0025 + , RSHFT (LSHFT(RSHFT(MZ,IZQ-1),32-NZB), 33-IZP-NZB) )
0026 *
0027 JBYTET (MZ,IZW,IZP,NZB) = AND (MZ,
0028 + RSHFT (LSHFT(IZW,33-IZP-NZB), 32-NZB) )
0029 JBYTOR (MZ,IZW,IZP,NZB) = OR (MZ,
0030 + RSHFT (LSHFT(IZW,33-IZP-NZB), 32-NZB) )
0031 MBYTET (MZ,IZW,IZP,NZB) = AND (IZW, NOT(RSHFT (
0032 + LSHFT(NOT(MZ),32-NZB), 33-IZP-NZB)) )
0033 MBYTOR (MZ,IZW,IZP,NZB) = OR (IZW, RSHFT (
0034 + LSHFT(MZ,32-NZB), 33-IZP-NZB) )
0035 #endif
0036 *
0037 * l3bitx.inc
0038 *
0039 #if defined(CERNLIB_CRAY)
0040 #include "hepdb/l3bits.inc"
0041 MSBIT (MZ,IZW,IZP) = (IZW .AND. SHIFT(MASK(65),IZP))
0042 + .OR. SHIFT(MZ.AND.MASK(127),IZP-1)
0043 *
0044 MCBYT (MZ,IZQ,IZW,IZP,NZB)=(IZW.AND.SHIFT(MASK(64-NZB),IZP-1))
0045 + .OR. SHIFT(SHIFTR(MZ,IZQ-1).AND.MASK(128-NZB),IZP-1)
0046 *
0047 JBYTET (MZ,IZW,IZP,NZB) = MZ .AND. SHIFTR(IZW,IZP-1)
0048 + .AND. MASK(128-NZB)
0049 JBYTOR (MZ,IZW,IZP,NZB) = MZ .OR. (SHIFTR(IZW,IZP-1)
0050 + .AND. MASK(128-NZB) )
0051 MBYTET (MZ,IZW,IZP,NZB) = IZW .AND.
0052 + SHIFT (MZ.OR. MASK(64-NZB), IZP-1)
0053 MBYTOR (MZ,IZW,IZP,NZB) = IZW .OR.
0054 + SHIFT (MZ.AND.MASK(128-NZB),IZP-1)
0055 #endif
0056 *
0057 * l3bitx.inc
0058 *
0059 #if defined(CERNLIB_IBM)||defined(CERNLIB_IBMRT)||defined(CERNLIB_VAX)\
0060 || defined(CERNLIB_GFORTRAN)
0061 #include "hepdb/l3bits.inc"
0062 MSBIT (MZ,IZW,IZP) = IOR (IAND (IZW, NOT(ISHFT(1,IZP-1)) )
0063 + , ISHFT(IAND(MZ,1),IZP-1))
0064 *
0065 MCBYT (MZ,IZQ,IZW,IZP,NZB) = IOR ( IAND (IZW, NOT(
0066 + ISHFT (ISHFT(NOT(0),-32+NZB), IZP-1)))
0067 + , ISHFT (ISHFT(ISHFT(MZ,-IZQ+1),32-NZB), -33+IZP+NZB) )
0068 *
0069 JBYTET (MZ,IZW,IZP,NZB) = IAND (MZ, IBITS(IZW,IZP-1,NZB))
0070 JBYTOR (MZ,IZW,IZP,NZB) = IOR (MZ, IBITS(IZW,IZP-1,NZB))
0071 MBYTET (MZ,IZW,IZP,NZB) = IAND (IZW, NOT(ISHFT (
0072 + ISHFT(NOT(MZ),32-NZB),-33+IZP+NZB)) )
0073 MBYTOR (MZ,IZW,IZP,NZB) = IOR (IZW, ISHFT (
0074 + ISHFT(MZ,32-NZB),-33+IZP+NZB) )
0075 #endif
0076 *
0077 * l3bitx.inc
0078 *
0079 #if defined(CERNLIB_F2C) && (!defined(CERNLIB_GFORTRAN))
0080 #include "hepdb/l3bits.inc"
0081 JBYTET (MZ,IZW,IZP,NZB) = AND (MZ,
0082 + ishftr (LSHIFT(IZW,33-IZP-NZB),32-NZB) )
0083 JBYTOR (MZ,IZW,IZP,NZB) = OR (MZ,
0084 + ishftr (LSHIFT(IZW,33-IZP-NZB),32-NZB) )
0085 MBYTET (MZ,IZW,IZP,NZB) = AND (IZW,
0086 + NOT(ishftr (LSHIFT(NOT(MZ),32-NZB),33-IZP-NZB)) )
0087 MBYTOR (MZ,IZW,IZP,NZB) = OR (IZW,
0088 + ishftr (LSHIFT(MZ,32-NZB),33-IZP-NZB) )
0089 BTEST(IZW,IZP) = AND (IZW,LSHIFT(1,IZP)) .NE. 0
0090 IBSET(IZW,IZP) = OR (IZW,LSHIFT(1,IZP))
0091 IBCLR(IZW,IZP) = AND (IZW,NOT(LSHIFT(1,IZP)))
0092 IBITS (IZW,IZP,NZB) = ISHFTR (LSHIFT(IZW,32-IZP-NZB), 32-NZB)
0093
0094 #endif
0095 *
0096 * l3bitx.inc
0097 *
0098 #if (defined(CERNLIB_WINNT))&&(!defined(CERNLIB_F2C))
0099 #include "hepdb/l3bits.inc"
0100 JBYTET (MZ,IZW,IZP,NZB) = IAND (MZ,
0101 + ISHFT (ISHFT(IZW,33-IZP-NZB),-32+NZB) )
0102 JBYTOR (MZ,IZW,IZP,NZB) = IOR (MZ,
0103 + ISHFT (ISHFT(IZW,33-IZP-NZB),-32+NZB) )
0104 MBYTET (MZ,IZW,IZP,NZB) = IAND (IZW,
0105 + NOT(ISHFT (ISHFT(NOT(MZ),32-NZB),-33+IZP+NZB)) )
0106 MBYTOR (MZ,IZW,IZP,NZB) = IOR (IZW,
0107 + ISHFT (ISHFT(MZ,32-NZB),-33+IZP+NZB) )
0108 #endif
0109
0110 #endif