Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-02-21 10:05:32

0001 /*
0002  *  qp_exe_op.h  --
0003  *  Interpreter switch for the numeric operations intructions
0004  *
0005  *  Original: 20-Jan-1995 11:14
0006  *
0007  *  Author:   Maarten Ballintijn <Maarten.Ballintijn@cern.ch>
0008  *
0009  */
0010 
0011 {
0012     if ( (opc & FC_VECTOR_BIT) != 0 ) {
0013 /*
0014  *  OP_TYPE the type for declarations and casts
0015  *  OP_DTYPE    The Datatype value for this type
0016  *  OP_BASE The base value added to the FC for this type
0017  */
0018         Int32       *r, *o1, *o2, *o3;
0019         int     inc_r, inc_o1, inc_o2, inc_o3;
0020 
0021         switch ( fc ) {
0022 #define OP_TYPE     bool
0023 #define OP_DTYPE    D_BOOL
0024 #define OP_BASE     (D_BOOL * 64)
0025 
0026 #include    "qp_exev_op_bool.h"
0027 
0028 #undef  OP_TYPE
0029 #undef  OP_DTYPE
0030 #undef  OP_BASE
0031 
0032 #define OP_TYPE     UInt32
0033 #define OP_DTYPE    D_UINT
0034 #define OP_BASE     (D_UINT * 64)
0035 
0036 #include    "qp_exev_op_num.h"
0037 #include    "qp_exev_op_cmp.h"
0038 
0039 #undef  OP_TYPE
0040 #undef  OP_DTYPE
0041 #undef  OP_BASE
0042 
0043 #define OP_TYPE     UInt64
0044 #define OP_DTYPE    D_ULONG
0045 #define OP_BASE     (D_ULONG * 64)
0046 
0047 #include    "qp_exev_op_num.h"
0048 #include    "qp_exev_op_cmp.h"
0049 
0050 #undef  OP_TYPE
0051 #undef  OP_DTYPE
0052 #undef  OP_BASE
0053 
0054 #define OP_TYPE     Int32
0055 #define OP_DTYPE    D_INT
0056 #define OP_BASE     (D_INT * 64)
0057 
0058 #include    "qp_exev_op_num.h"
0059 #include    "qp_exev_op_cmp.h"
0060 
0061 #undef  OP_TYPE
0062 #undef  OP_DTYPE
0063 #undef  OP_BASE
0064 
0065 #define OP_TYPE     Int64
0066 #define OP_DTYPE    D_LONG
0067 #define OP_BASE     (D_LONG * 64)
0068 
0069 #include    "qp_exev_op_num.h"
0070 #include    "qp_exev_op_cmp.h"
0071 
0072 #undef  OP_TYPE
0073 #undef  OP_DTYPE
0074 #undef  OP_BASE
0075 
0076 #define OP_TYPE     Float32
0077 #define OP_DTYPE    D_FLOAT
0078 #define OP_BASE     (D_FLOAT * 64)
0079 
0080 #include    "qp_exev_op_num.h"
0081 #include    "qp_exev_op_cmp.h"
0082 
0083 #undef  OP_TYPE
0084 #undef  OP_DTYPE
0085 #undef  OP_BASE
0086 
0087 #define OP_TYPE     Float64
0088 #define OP_DTYPE    D_DOUBLE
0089 #define OP_BASE     (D_DOUBLE * 64)
0090 
0091 #include    "qp_exev_op_num.h"
0092 #include    "qp_exev_op_cmp.h"
0093 
0094 #undef  OP_TYPE
0095 #undef  OP_DTYPE
0096 #undef  OP_BASE
0097         default:
0098             sf_report( "qp_exe_op.h: Unkown Fcode ( %d )\n", fc );
0099             *errp = R_INTERNAL_ERROR;
0100             running = FALSE;
0101             break;
0102         }
0103     } else {
0104 /*
0105  *  OP_TYPE the type for declarations and casts
0106  *  OP_DTYPE    The Datatype value for this type
0107  *  OP_BASE The base value added to the FC for this type
0108  */
0109         Int32       *r, *o1, *o2, *o3;
0110 
0111         switch ( fc ) {
0112 
0113 #define OP_TYPE     bool
0114 #define OP_DTYPE    D_BOOL
0115 #define OP_BASE     (D_BOOL * 64)
0116 
0117 #include    "qp_exe_op_bool.h"
0118 
0119 #undef  OP_TYPE
0120 #undef  OP_DTYPE
0121 #undef  OP_BASE
0122 
0123 #define OP_TYPE     UInt32
0124 #define OP_DTYPE    D_UINT
0125 #define OP_BASE     (D_UINT * 64)
0126 
0127 #include    "qp_exe_op_num.h"
0128 #include    "qp_exe_op_cmp.h"
0129 
0130 #undef  OP_TYPE
0131 #undef  OP_DTYPE
0132 #undef  OP_BASE
0133 
0134 #define OP_TYPE     UInt64
0135 #define OP_DTYPE    D_ULONG
0136 #define OP_BASE     (D_ULONG * 64)
0137 
0138 #include    "qp_exe_op_num.h"
0139 #include    "qp_exe_op_cmp.h"
0140 
0141 #undef  OP_TYPE
0142 #undef  OP_DTYPE
0143 #undef  OP_BASE
0144 
0145 #define OP_TYPE     Int32
0146 #define OP_DTYPE    D_INT
0147 #define OP_BASE     (D_INT * 64)
0148 
0149 #include    "qp_exe_op_num.h"
0150 #include    "qp_exe_op_cmp.h"
0151 
0152 #undef  OP_TYPE
0153 #undef  OP_DTYPE
0154 #undef  OP_BASE
0155 
0156 #define OP_TYPE     Int64
0157 #define OP_DTYPE    D_LONG
0158 #define OP_BASE     (D_LONG * 64)
0159 
0160 #include    "qp_exe_op_num.h"
0161 #include    "qp_exe_op_cmp.h"
0162 
0163 #undef  OP_TYPE
0164 #undef  OP_DTYPE
0165 #undef  OP_BASE
0166 
0167 #define OP_TYPE     Float32
0168 #define OP_DTYPE    D_FLOAT
0169 #define OP_BASE     (D_FLOAT * 64)
0170 
0171 #include    "qp_exe_op_num.h"
0172 #include    "qp_exe_op_cmp.h"
0173 
0174 #undef  OP_TYPE
0175 #undef  OP_DTYPE
0176 #undef  OP_BASE
0177 
0178 #define OP_TYPE     Float64
0179 #define OP_DTYPE    D_DOUBLE
0180 #define OP_BASE     (D_DOUBLE * 64)
0181 
0182 #include    "qp_exe_op_num.h"
0183 #include    "qp_exe_op_cmp.h"
0184 
0185 #undef  OP_TYPE
0186 #undef  OP_DTYPE
0187 #undef  OP_BASE
0188 
0189         default:
0190             sf_report( "qp_exe_op.h: Unkown Fcode ( %d )\n", fc );
0191             *errp = R_INTERNAL_ERROR;
0192             running = FALSE;
0193             break;
0194         }
0195     }
0196 }