Back to home page

EIC code displayed by LXR

 
 

    


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