1 #ifdef IPARITH 2 // additional to the usual types: INT_CMD etc. 3 // thre are special types: 4 // for the input: 5 // IDHDL: argument must have a name 6 // DEF_CMD: no restriktions on the argument 7 // ANY_TYPE: changes to pseudo data (for "defined", "typeof", etc.) 8 // with the following subfields 9 // - name !=NULL 10 // - data := original type id 11 12 // for the output: 13 // NONE: does not return a value 14 // ANY_TYPE: various types, the routines have to set it 15 16 // the procedures have to be wrapped into the macro D(...) 17 // with the exception of jjWRONG... (which always fails) 18 // ----------------------------------------------------------------------- 19 // context: non-commutative rings and coefficient domain: 20 // 21 // commutativity: 22 // ALLOW_NC: also for plural rings and letterplace rings 23 // ALLOW_LP: also for letterplace rings, not for plural rings 24 // ALLOW_PLURAL: not for letterplace rings, but for plural rings 25 // COMM_PLURAL: only for commuative subrings of plural rings 26 // NO_NC: not for non-commutative rings 27 // 28 // coefficient domain: 29 // ALLOW_RING: coefficient domain may be a ring 30 // NO_ZERODIVISOR: coefficient domain may be a ring without zero-divisors 31 // NO_RING: coefficient domain must be a field 32 // 33 // other stuff: 34 // NO_CONVERSION: arguments must have EXACTLY these types 35 // WARN_RING: warn, that the operation happens in the quotient field 36 /*=================== operations with 1 arg.: table =================*/ 37 const struct sValCmd1 dArith1[]= 38 { 39 // operationsi 40 // proc cmd res arg context 41 {D(jjPLUSPLUS), PLUSPLUS, NONE, IDHDL , ALLOW_NC |ALLOW_RING} 42 ,{D(jjPLUSPLUS), MINUSMINUS, NONE, IDHDL , ALLOW_NC |ALLOW_RING} 43 ,{D(jjUMINUS_I), '-', INT_CMD, INT_CMD , ALLOW_NC |ALLOW_RING} 44 ,{D(jjUMINUS_BI), '-', BIGINT_CMD, BIGINT_CMD , ALLOW_NC |ALLOW_RING} 45 ,{D(jjUMINUS_N), '-', NUMBER_CMD, NUMBER_CMD , ALLOW_NC |ALLOW_RING} 46 #ifdef SINGULAR_4_2 47 ,{D(jjNUMBER2_OP1),'-', CNUMBER_CMD, CNUMBER_CMD , ALLOW_NC |ALLOW_RING} 48 ,{D(jjPOLY2_OP1), '-', CPOLY_CMD, CPOLY_CMD , ALLOW_NC |ALLOW_RING} 49 #endif 50 ,{D(jjUMINUS_P), '-', POLY_CMD, POLY_CMD , ALLOW_NC |ALLOW_RING} 51 ,{D(jjUMINUS_P), '-', VECTOR_CMD, VECTOR_CMD , ALLOW_NC |ALLOW_RING} 52 ,{D(jjUMINUS_MA), '-', MATRIX_CMD, MATRIX_CMD , ALLOW_NC |ALLOW_RING} 53 ,{D(jjUMINUS_IV), '-', INTVEC_CMD, INTVEC_CMD , ALLOW_NC |ALLOW_RING} 54 ,{D(jjUMINUS_IV), '-', INTMAT_CMD, INTMAT_CMD , ALLOW_NC |ALLOW_RING} 55 ,{D(jjUMINUS_BIM), '-', BIGINTMAT_CMD, BIGINTMAT_CMD , ALLOW_NC |ALLOW_RING} 56 #ifdef SINGULAR_4_2 57 ,{D(jjUMINUS_BIM), '-', CMATRIX_CMD, CMATRIX_CMD , ALLOW_NC |ALLOW_RING} 58 #endif 59 ,{D(jjPROC1), '(', ANY_TYPE/*set by p*/,PROC_CMD , ALLOW_NC |ALLOW_RING} 60 // and the procedures with 1 argument: 61 ,{D(atATTRIB1), ATTRIB_CMD, NONE, DEF_CMD , ALLOW_NC |ALLOW_RING} 62 ,{D(jjBAREISS_BIM), BAREISS_CMD, BIGINTMAT_CMD, BIGINTMAT_CMD , ALLOW_PLURAL |ALLOW_RING} 63 ,{D(jjBAREISS), BAREISS_CMD, LIST_CMD, MODUL_CMD , NO_NC |ALLOW_RING | NO_ZERODIVISOR} 64 ,{D(jjBETTI), BETTI_CMD, INTMAT_CMD, LIST_CMD , ALLOW_PLURAL |NO_RING} 65 ,{D(syBetti1), BETTI_CMD, INTMAT_CMD, RESOLUTION_CMD, ALLOW_PLURAL |NO_RING} 66 ,{D(jjBETTI), BETTI_CMD, INTMAT_CMD, IDEAL_CMD , ALLOW_PLURAL |NO_RING} 67 ,{D(jjBETTI), BETTI_CMD, INTMAT_CMD, MODUL_CMD , ALLOW_PLURAL |NO_RING} 68 ,{D(jjDUMMY), BIGINT_CMD, BIGINT_CMD, BIGINT_CMD , ALLOW_NC |ALLOW_RING} 69 ,{D(jjN2BI), BIGINT_CMD, BIGINT_CMD, NUMBER_CMD , ALLOW_NC |ALLOW_RING} 70 ,{D(jjP2BI), BIGINT_CMD, BIGINT_CMD, POLY_CMD , ALLOW_NC |ALLOW_RING} 71 ,{D(jjDUMMY), BIGINTMAT_CMD, BIGINTMAT_CMD, BIGINTMAT_CMD , ALLOW_NC |ALLOW_RING} 72 ,{D(jjCHAR), CHARACTERISTIC_CMD, INT_CMD, RING_CMD , ALLOW_NC |ALLOW_RING} 73 ,{D(jjCHARSERIES), CHAR_SERIES_CMD, MATRIX_CMD, IDEAL_CMD , NO_NC |NO_RING} 74 ,{D(jjrCharStr), CHARSTR_CMD, STRING_CMD, RING_CMD , ALLOW_NC |ALLOW_RING} 75 ,{D(jjOpenClose), CLOSE_CMD, NONE, LINK_CMD , ALLOW_NC |ALLOW_RING} 76 #ifdef SINGULAR_4_2 77 ,{D(jjDUMMY), CMATRIX_CMD, CMATRIX_CMD, CMATRIX_CMD , ALLOW_NC |ALLOW_RING} 78 #endif 79 //,{ jjWRONG , COLS_CMD, 0, VECTOR_CMD , ALLOW_NC |ALLOW_RING} 80 ,{D(jjCOLS), COLS_CMD, INT_CMD, MATRIX_CMD , ALLOW_NC |ALLOW_RING|NO_CONVERSION} 81 ,{D(jjCOLS), COLS_CMD, INT_CMD, SMATRIX_CMD , ALLOW_NC |ALLOW_RING|NO_CONVERSION} 82 ,{D(jjCOLS), COLS_CMD, INT_CMD, IDEAL_CMD , ALLOW_NC |ALLOW_RING|NO_CONVERSION} 83 ,{D(jjCOLS), COLS_CMD, INT_CMD, MODUL_CMD , ALLOW_NC |ALLOW_RING|NO_CONVERSION} 84 ,{D(jjCOLS_IV), COLS_CMD, INT_CMD, INTMAT_CMD , ALLOW_NC |ALLOW_RING|NO_CONVERSION} 85 ,{D(jjCOLS_BIM), COLS_CMD, INT_CMD, BIGINTMAT_CMD , ALLOW_NC |ALLOW_RING|NO_CONVERSION} 86 #ifdef SINGULAR_4_2 87 ,{D(jjCOLS_BIM), COLS_CMD, INT_CMD, CMATRIX_CMD , ALLOW_NC |ALLOW_RING|NO_CONVERSION} 88 #endif 89 //,{ jjWRONG , COLS_CMD, 0, INTVEC_CMD , ALLOW_NC |ALLOW_RING} 90 ,{D(jjCONTENT), CONTENT_CMD, POLY_CMD, POLY_CMD , ALLOW_NC |ALLOW_RING} 91 ,{D(jjCONTENT), CONTENT_CMD, VECTOR_CMD, VECTOR_CMD , ALLOW_NC |ALLOW_RING} 92 ,{D(jjCOUNT_BI), COUNT_CMD, INT_CMD, BIGINT_CMD , ALLOW_NC |ALLOW_RING} 93 ,{D(jjCOUNT_N), COUNT_CMD, INT_CMD, NUMBER_CMD , ALLOW_NC |ALLOW_RING} 94 ,{D(jjCOUNT_RES), COUNT_CMD, INT_CMD, RESOLUTION_CMD, ALLOW_NC |ALLOW_RING} 95 ,{D(jjstrlen), COUNT_CMD, INT_CMD, STRING_CMD , ALLOW_NC |ALLOW_RING} 96 ,{D(jjpLength), COUNT_CMD, INT_CMD, POLY_CMD , ALLOW_NC |ALLOW_RING} 97 ,{D(jjpLength), COUNT_CMD, INT_CMD, VECTOR_CMD , ALLOW_NC |ALLOW_RING} 98 ,{D(jjidElem), COUNT_CMD, INT_CMD, IDEAL_CMD , ALLOW_NC |ALLOW_RING} 99 ,{D(jjidElem), COUNT_CMD, INT_CMD, MODUL_CMD , ALLOW_NC |ALLOW_RING} 100 ,{D(jjCOUNT_M), COUNT_CMD, INT_CMD, MATRIX_CMD , ALLOW_NC |ALLOW_RING} 101 ,{D(jjCOUNT_IV), COUNT_CMD, INT_CMD, INTVEC_CMD , ALLOW_NC |ALLOW_RING} 102 ,{D(jjCOUNT_IV), COUNT_CMD, INT_CMD, INTMAT_CMD , ALLOW_NC |ALLOW_RING} 103 ,{D(jjCOUNT_BIM), COUNT_CMD, INT_CMD, BIGINTMAT_CMD , ALLOW_NC |ALLOW_RING} 104 ,{D(jjCOUNT_L), COUNT_CMD, INT_CMD, LIST_CMD , ALLOW_NC |ALLOW_RING} 105 ,{D(jjCOUNT_RG), COUNT_CMD, INT_CMD, RING_CMD , ALLOW_NC |ALLOW_RING} 106 ,{D(jjR2_CR), CRING_CMD, CRING_CMD, RING_CMD , ALLOW_NC |ALLOW_RING} 107 ,{D(jjNULL), DEF_CMD, DEF_CMD, INT_CMD , ALLOW_NC |ALLOW_RING} 108 ,{ jjWRONG , DEF_CMD, 0, ANY_TYPE , ALLOW_NC |ALLOW_RING} 109 ,{D(jjDEG), DEG_CMD, INT_CMD, POLY_CMD , ALLOW_NC |ALLOW_RING} 110 ,{D(jjDEG), DEG_CMD, INT_CMD, VECTOR_CMD , ALLOW_NC |ALLOW_RING} 111 ,{D(jjDEG_M), DEG_CMD, INT_CMD, MATRIX_CMD , ALLOW_NC |ALLOW_RING} 112 ,{D(jjDEGREE), DEGREE_CMD, STRING_CMD, IDEAL_CMD , NO_NC |ALLOW_RING | NO_ZERODIVISOR} 113 ,{D(jjDEGREE), DEGREE_CMD, STRING_CMD, MODUL_CMD , NO_NC |ALLOW_RING | NO_ZERODIVISOR} 114 ,{D(jjDEFINED), DEFINED_CMD, INT_CMD, DEF_CMD , ALLOW_NC |ALLOW_RING} 115 ,{D(jjDENOMINATOR),DENOMINATOR_CMD, NUMBER_CMD, NUMBER_CMD , ALLOW_NC |ALLOW_RING} 116 ,{D(jjNUMERATOR), NUMERATOR_CMD, NUMBER_CMD, NUMBER_CMD , ALLOW_NC |ALLOW_RING} 117 #ifdef SINGULAR_4_2 118 ,{D(jjDET_N2), DET_CMD, CNUMBER_CMD, CMATRIX_CMD , ALLOW_PLURAL |ALLOW_RING} 119 #endif 120 ,{D(jjDET_BI), DET_CMD, BIGINT_CMD, BIGINTMAT_CMD , ALLOW_NC |ALLOW_RING} 121 ,{D(jjDET_I), DET_CMD, INT_CMD, INTMAT_CMD , ALLOW_NC |ALLOW_RING} 122 ,{D(jjDET_S), DET_CMD, POLY_CMD, SMATRIX_CMD , NO_NC |NO_RING} 123 ,{D(jjDET), DET_CMD, POLY_CMD, MATRIX_CMD , NO_NC |ALLOW_RING} 124 ,{D(jjDIM), DIM_CMD, INT_CMD, IDEAL_CMD , ALLOW_NC |ALLOW_RING} 125 ,{D(jjDIM), DIM_CMD, INT_CMD, MODUL_CMD , ALLOW_PLURAL |ALLOW_RING} 126 ,{D(jjDIM_R), DIM_CMD, INT_CMD, RESOLUTION_CMD, ALLOW_PLURAL |ALLOW_RING} 127 ,{D(jjDUMP), DUMP_CMD, NONE, LINK_CMD , ALLOW_NC |ALLOW_RING} 128 ,{D(jjE), E_CMD, VECTOR_CMD, INT_CMD , ALLOW_NC |ALLOW_RING} 129 ,{D(jjEXECUTE), EXECUTE_CMD, NONE, STRING_CMD , ALLOW_NC |ALLOW_RING} 130 ,{D(jjERROR), ERROR_CMD, NONE, STRING_CMD , ALLOW_NC |ALLOW_RING} 131 ,{D(jjFAC_P), FAC_CMD, LIST_CMD, POLY_CMD , NO_NC |ALLOW_ZZ} 132 ,{D(findUniProc), FINDUNI_CMD, IDEAL_CMD, IDEAL_CMD , NO_NC |NO_RING} 133 ,{D(jjidFreeModule),FREEMODULE_CMD, MODUL_CMD, INT_CMD , ALLOW_NC |ALLOW_RING} 134 ,{D(jjFACSTD), FACSTD_CMD, LIST_CMD, IDEAL_CMD , NO_NC |NO_RING} 135 ,{D(jjGETDUMP), GETDUMP_CMD, NONE, LINK_CMD , ALLOW_NC |ALLOW_RING} 136 ,{D(jjHIGHCORNER), HIGHCORNER_CMD, POLY_CMD, IDEAL_CMD , NO_NC |ALLOW_RING} 137 ,{D(jjHIGHCORNER_M), HIGHCORNER_CMD,VECTOR_CMD, MODUL_CMD , NO_NC |ALLOW_RING} 138 ,{D(jjHILBERT), HILBERT_CMD, NONE, IDEAL_CMD , ALLOW_PLURAL |ALLOW_RING | NO_ZERODIVISOR} 139 ,{D(jjHILBERT), HILBERT_CMD, NONE, MODUL_CMD , ALLOW_PLURAL |ALLOW_RING | NO_ZERODIVISOR} 140 ,{D(jjHILBERT_IV), HILBERT_CMD, INTVEC_CMD, INTVEC_CMD , ALLOW_PLURAL |ALLOW_RING | NO_ZERODIVISOR} 141 ,{D(jjHOMOG1), HOMOG_CMD, INT_CMD, IDEAL_CMD , ALLOW_NC |ALLOW_RING} 142 ,{D(jjHOMOG1), HOMOG_CMD, INT_CMD, MODUL_CMD , ALLOW_NC |ALLOW_RING} 143 ,{D(jjDUMMY), IDEAL_CMD, IDEAL_CMD, IDEAL_CMD , ALLOW_NC |ALLOW_RING} 144 ,{D(jjidVec2Ideal),IDEAL_CMD, IDEAL_CMD, VECTOR_CMD , ALLOW_NC |ALLOW_RING} 145 ,{D(jjIDEAL_Ma), IDEAL_CMD, IDEAL_CMD, MATRIX_CMD , ALLOW_NC |ALLOW_RING} 146 ,{D(jjIDEAL_R), IDEAL_CMD, IDEAL_CMD, RING_CMD , ALLOW_NC |ALLOW_RING} 147 ,{D(jjIDEAL_Map), IDEAL_CMD, IDEAL_CMD, MAP_CMD , ALLOW_NC |ALLOW_RING} 148 ,{D(jjIMPART), IMPART_CMD, NUMBER_CMD, NUMBER_CMD , ALLOW_NC |ALLOW_RING} 149 ,{D(jjINDEPSET), INDEPSET_CMD, INTVEC_CMD, IDEAL_CMD , NO_NC |NO_RING} 150 ,{D(jjDUMMY), INT_CMD, INT_CMD, INT_CMD , ALLOW_NC |ALLOW_RING} 151 ,{D(jjnlInt), INT_CMD, INT_CMD, BIGINT_CMD , ALLOW_NC |ALLOW_RING} 152 ,{D(jjnInt), INT_CMD, INT_CMD, NUMBER_CMD , ALLOW_NC |ALLOW_RING} 153 ,{D(jjP2I), INT_CMD, INT_CMD, POLY_CMD , ALLOW_NC |ALLOW_RING} 154 ,{D(jjS2I), INT_CMD, INT_CMD, STRING_CMD , ALLOW_NC |ALLOW_RING} 155 ,{D(jjINTERRED), INTERRED_CMD, IDEAL_CMD, IDEAL_CMD , ALLOW_PLURAL |NO_RING} 156 ,{D(jjINTERRED), INTERRED_CMD, MODUL_CMD, MODUL_CMD , ALLOW_PLURAL |NO_RING} 157 ,{D(jjBI2IM), INTMAT_CMD, INTMAT_CMD, BIGINTMAT_CMD , ALLOW_PLURAL |ALLOW_RING} 158 ,{D(jjDUMMY), INTMAT_CMD, INTMAT_CMD, INTMAT_CMD , ALLOW_NC |ALLOW_RING} 159 ,{D(jjIm2Iv), INTVEC_CMD, INTVEC_CMD, INTMAT_CMD , ALLOW_NC |ALLOW_RING} 160 ,{D(jjDUMMY), INTVEC_CMD, INTVEC_CMD, INTVEC_CMD , ALLOW_NC |ALLOW_RING} 161 ,{D(jjIS_RINGVAR_P), IS_RINGVAR, INT_CMD, POLY_CMD , ALLOW_NC |ALLOW_RING} 162 ,{D(jjIS_RINGVAR_S), IS_RINGVAR, INT_CMD, STRING_CMD , ALLOW_NC |ALLOW_RING} 163 ,{D(jjIS_RINGVAR0),IS_RINGVAR, INT_CMD, ANY_TYPE , ALLOW_NC |ALLOW_RING} 164 ,{D(jjJACOB_P), JACOB_CMD, IDEAL_CMD, POLY_CMD , ALLOW_PLURAL |ALLOW_RING} 165 ,{D(mpJacobi), JACOB_CMD, MATRIX_CMD, IDEAL_CMD , ALLOW_PLURAL |ALLOW_RING} 166 ,{D(jjJACOB_M), JACOB_CMD, MODUL_CMD, MODUL_CMD , ALLOW_PLURAL |ALLOW_RING} 167 ,{D(jjJanetBasis), JANET_CMD, IDEAL_CMD, IDEAL_CMD , ALLOW_PLURAL |NO_RING} 168 ,{D(jjKBASE), KBASE_CMD, IDEAL_CMD, IDEAL_CMD , ALLOW_PLURAL |ALLOW_RING|WARN_RING} /*ring-cf: warning at top level*/ 169 ,{D(jjKBASE), KBASE_CMD, MODUL_CMD, MODUL_CMD , ALLOW_PLURAL |ALLOW_RING|WARN_RING} /*ring-cf: warning at top level*/ 170 ,{D(jjLagSolve), LAGSOLVE_CMD, LIST_CMD, POLY_CMD , NO_NC |NO_RING} 171 ,{D(jjLU_DECOMP), LU_CMD, LIST_CMD, MATRIX_CMD , NO_NC |NO_RING} 172 ,{D(jjPFAC1), PFAC_CMD, LIST_CMD, BIGINT_CMD , ALLOW_NC |ALLOW_RING} 173 ,{D(jjPFAC1), PFAC_CMD, LIST_CMD, NUMBER_CMD , ALLOW_NC |ALLOW_RING} 174 ,{D(atKILLATTR1), KILLATTR_CMD, NONE, IDHDL , ALLOW_NC |ALLOW_RING} 175 ,{D(jjpHead), LEAD_CMD, POLY_CMD, POLY_CMD , ALLOW_NC |ALLOW_RING} 176 ,{D(jjidHead), LEAD_CMD, IDEAL_CMD, IDEAL_CMD , ALLOW_NC |ALLOW_RING} 177 ,{D(jjpHead), LEAD_CMD, VECTOR_CMD, VECTOR_CMD , ALLOW_NC |ALLOW_RING} 178 ,{D(jjidHead), LEAD_CMD, MODUL_CMD, MODUL_CMD , ALLOW_NC |ALLOW_RING} 179 ,{D(jjLEADCOEF), LEADCOEF_CMD, NUMBER_CMD, POLY_CMD , ALLOW_NC |ALLOW_RING} 180 ,{D(jjLEADCOEF), LEADCOEF_CMD, NUMBER_CMD, VECTOR_CMD , ALLOW_NC |ALLOW_RING} 181 ,{D(jjLEADEXP), LEADEXP_CMD, INTVEC_CMD, POLY_CMD , ALLOW_NC |ALLOW_RING} 182 ,{D(jjLEADEXP), LEADEXP_CMD, INTVEC_CMD, VECTOR_CMD , ALLOW_NC |ALLOW_RING} 183 ,{D(jjLEADMONOM), LEADMONOM_CMD, POLY_CMD, POLY_CMD , ALLOW_NC |ALLOW_RING} 184 ,{D(jjLEADMONOM), LEADMONOM_CMD, VECTOR_CMD, VECTOR_CMD , ALLOW_NC |ALLOW_RING} 185 ,{D(jjDUMMY), LINK_CMD, LINK_CMD, LINK_CMD , ALLOW_NC |ALLOW_RING} 186 ,{D(jjCALL1MANY), LIST_CMD, LIST_CMD, DEF_CMD , ALLOW_NC |ALLOW_RING} 187 ,{ jjWRONG , MAP_CMD, 0, ANY_TYPE , ALLOW_NC |ALLOW_RING} 188 ,{D(jjDUMMY), MATRIX_CMD, MATRIX_CMD, MATRIX_CMD , ALLOW_NC |ALLOW_RING} 189 ,{D(jjidMaxIdeal), MAXID_CMD, IDEAL_CMD, INT_CMD , ALLOW_NC |ALLOW_RING} 190 ,{D(jjMEMORY), MEMORY_CMD, BIGINT_CMD, INT_CMD , ALLOW_NC |ALLOW_RING} 191 ,{D(jjidMinBase), MINBASE_CMD, IDEAL_CMD, IDEAL_CMD , NO_NC |NO_RING} 192 ,{D(jjidMinBase), MINBASE_CMD, MODUL_CMD, MODUL_CMD , NO_NC |NO_RING} 193 ,{D(jjMINRES), MINRES_CMD, LIST_CMD, LIST_CMD , ALLOW_PLURAL |ALLOW_RING} 194 ,{D(jjMINRES_R), MINRES_CMD, RESOLUTION_CMD, RESOLUTION_CMD, ALLOW_PLURAL |ALLOW_RING} 195 ,{D(jjDUMMY), MODUL_CMD, MODUL_CMD, MODUL_CMD , ALLOW_NC |ALLOW_RING} 196 ,{D(jjMONITOR1), MONITOR_CMD, NONE, LINK_CMD , ALLOW_NC |ALLOW_RING} 197 ,{D(jjMONOM), MONOM_CMD, POLY_CMD, INTVEC_CMD , ALLOW_NC |ALLOW_RING} 198 ,{D(jjMULT), MULTIPLICITY_CMD, INT_CMD, IDEAL_CMD , NO_NC |ALLOW_RING} 199 ,{D(jjMULT), MULTIPLICITY_CMD, INT_CMD, MODUL_CMD , NO_NC |ALLOW_RING} 200 ,{D(jjMSTD), MSTD_CMD, LIST_CMD, IDEAL_CMD , NO_NC |ALLOW_RING} 201 ,{D(jjMSTD), MSTD_CMD, LIST_CMD, MODUL_CMD , NO_NC |ALLOW_RING} 202 ,{D(jjNAMEOF), NAMEOF_CMD, STRING_CMD, ANY_TYPE , ALLOW_NC |ALLOW_RING} 203 ,{D(jjNAMES_I), NAMES_CMD, LIST_CMD, INT_CMD , ALLOW_NC |ALLOW_RING} 204 ,{D(jjNAMES), NAMES_CMD, LIST_CMD, PACKAGE_CMD , ALLOW_NC |ALLOW_RING} 205 ,{D(jjNAMES), NAMES_CMD, LIST_CMD, RING_CMD , ALLOW_NC |ALLOW_RING} 206 ,{D(jjNOT), NOT, INT_CMD, INT_CMD , ALLOW_NC |ALLOW_RING} 207 #ifdef SINGULAR_4_2 208 ,{D(jjN2_N), NUMBER_CMD, NUMBER_CMD, CNUMBER_CMD , ALLOW_NC |ALLOW_RING} 209 #endif 210 ,{D(jjDUMMY), NUMBER_CMD, NUMBER_CMD, NUMBER_CMD , ALLOW_NC |ALLOW_RING} 211 ,{D(jjP2N), NUMBER_CMD, NUMBER_CMD, POLY_CMD , ALLOW_NC |ALLOW_RING} 212 ,{D(jjBI2N), NUMBER_CMD, NUMBER_CMD, BIGINT_CMD , ALLOW_NC |ALLOW_RING} 213 ,{D(jjDUMMY), CNUMBER_CMD, CNUMBER_CMD, CNUMBER_CMD , ALLOW_NC |ALLOW_RING} 214 ,{D(jjRPAR), NPARS_CMD, INT_CMD, RING_CMD , ALLOW_NC |ALLOW_RING} 215 ,{D(jjNVARS), NVARS_CMD, INT_CMD, RING_CMD , ALLOW_NC |ALLOW_RING} 216 ,{D(jjOpenClose), OPEN_CMD, NONE, LINK_CMD , ALLOW_NC |ALLOW_RING} 217 ,{D(jjCALL1MANY), OPTION_CMD, NONE, DEF_CMD , ALLOW_NC |ALLOW_RING} /*libsing*/ 218 ,{D(jjORD), ORD_CMD, INT_CMD, POLY_CMD , ALLOW_NC |ALLOW_RING} 219 ,{D(jjORD), ORD_CMD, INT_CMD, VECTOR_CMD , ALLOW_NC |ALLOW_RING} 220 ,{D(jjrOrdStr), ORDSTR_CMD, STRING_CMD, RING_CMD , ALLOW_NC |ALLOW_RING} 221 ,{D(jjPAR1), PAR_CMD, NUMBER_CMD, INT_CMD , ALLOW_NC |ALLOW_RING} 222 ,{D(jjPARDEG), PARDEG_CMD, INT_CMD, NUMBER_CMD , ALLOW_NC |ALLOW_RING} 223 #ifdef SINGULAR_4_2 224 ,{D(jjN2_CR), PARENT_CMD, CRING_CMD, CNUMBER_CMD , ALLOW_NC |ALLOW_RING} 225 ,{D(jjP2_R), PARENT_CMD, RING_CMD, CPOLY_CMD , ALLOW_NC |ALLOW_RING} 226 ,{D(jjCM_CR), PARENT_CMD, CRING_CMD, CMATRIX_CMD , ALLOW_NC |ALLOW_RING} 227 ,{D(jjBIM2_CR), PARENT_CMD, CRING_CMD, BIGINTMAT_CMD , ALLOW_NC |ALLOW_RING} 228 #endif 229 ,{D(jjPARSTR1), PARSTR_CMD, STRING_CMD, INT_CMD , ALLOW_NC |ALLOW_RING} 230 ,{D(jjrParStr), PARSTR_CMD, STRING_CMD, RING_CMD , ALLOW_NC |ALLOW_RING} 231 ,{D(jjDUMMY), POLY_CMD, POLY_CMD, POLY_CMD , ALLOW_NC |ALLOW_RING} 232 ,{D(jjBI2P), POLY_CMD, POLY_CMD, BIGINT_CMD , ALLOW_NC |ALLOW_RING} 233 ,{D(jjPREIMAGE_R), PREIMAGE_CMD, RING_CMD, MAP_CMD , ALLOW_LP |ALLOW_RING} 234 ,{D(jjPRIME), PRIME_CMD, INT_CMD, INT_CMD , ALLOW_NC |ALLOW_RING} 235 ,{D(jjPRINT), PRINT_CMD, STRING_CMD, LIST_CMD , ALLOW_NC |ALLOW_RING} 236 ,{D(jjPRINT), PRINT_CMD, STRING_CMD, DEF_CMD , ALLOW_NC |ALLOW_RING} 237 ,{D(jjDUMMY), PROC_CMD, PROC_CMD, PROC_CMD , ALLOW_NC |ALLOW_RING} 238 ,{D(jjPRUNE), PRUNE_CMD, MODUL_CMD, MODUL_CMD , ALLOW_PLURAL |ALLOW_RING} 239 ,{D(kQHWeight), QHWEIGHT_CMD, INTVEC_CMD, IDEAL_CMD , ALLOW_PLURAL |ALLOW_RING} 240 ,{D(kQHWeight), QHWEIGHT_CMD, INTVEC_CMD, MODUL_CMD , ALLOW_PLURAL |ALLOW_RING} 241 ,{D(jjRANK1), RANK_CMD, INT_CMD, MATRIX_CMD , ALLOW_NC |NO_RING} 242 ,{D(jjREAD), READ_CMD, STRING_CMD, LINK_CMD , ALLOW_NC |ALLOW_RING} 243 ,{D(jjREGULARITY), REGULARITY_CMD, INT_CMD, LIST_CMD , NO_NC |ALLOW_RING} 244 ,{D(jjREPART), REPART_CMD, NUMBER_CMD, NUMBER_CMD , ALLOW_NC |ALLOW_RING} 245 ,{D(jjRESERVEDNAME),RESERVEDNAME_CMD, INT_CMD, STRING_CMD , ALLOW_NC |ALLOW_RING} 246 ,{D(jjL2R), RESOLUTION_CMD, RESOLUTION_CMD, LIST_CMD , ALLOW_PLURAL |ALLOW_RING} 247 ,{D(jjDUMMY), RESOLUTION_CMD, RESOLUTION_CMD, RESOLUTION_CMD, ALLOW_PLURAL |ALLOW_RING} 248 ,{D(jjRESTART), RESTART_CMD, NONE, INT_CMD, ALLOW_NC |ALLOW_RING} 249 ,{D(jjRIGHTSTD), RIGHTSTD_CMD, IDEAL_CMD, IDEAL_CMD , ALLOW_NC |NO_RING} 250 ,{D(jjRINGLIST), RINGLIST_CMD, LIST_CMD, RING_CMD , ALLOW_NC |ALLOW_RING} 251 ,{D(jjRINGLIST_C), RING_LIST_CMD, LIST_CMD, CRING_CMD , ALLOW_NC |ALLOW_RING} 252 ,{D(jjRING_LIST), RING_LIST_CMD, LIST_CMD, RING_CMD , ALLOW_NC |ALLOW_RING} 253 ,{D(jjDUMMY), RING_CMD, RING_CMD, RING_CMD , ALLOW_NC |ALLOW_RING} 254 ,{D(jjLISTRING), RING_CMD, RING_CMD, LIST_CMD , ALLOW_NC |ALLOW_RING} 255 //,{ jjWRONG , ROWS_CMD, 0, POLY_CMD , ALLOW_NC |ALLOW_RING} 256 ,{D(jjpMaxComp), ROWS_CMD, INT_CMD, VECTOR_CMD , ALLOW_NC |ALLOW_RING|NO_CONVERSION} 257 ,{D(jjROWS), ROWS_CMD, INT_CMD, MODUL_CMD , ALLOW_NC |ALLOW_RING|NO_CONVERSION} 258 ,{D(jjROWS), ROWS_CMD, INT_CMD, MATRIX_CMD , ALLOW_NC |ALLOW_RING|NO_CONVERSION} 259 ,{D(jjROWS), ROWS_CMD, INT_CMD, SMATRIX_CMD , ALLOW_NC |ALLOW_RING|NO_CONVERSION} 260 ,{D(jjROWS_IV), ROWS_CMD, INT_CMD, INTMAT_CMD , ALLOW_NC |ALLOW_RING|NO_CONVERSION} 261 ,{D(jjROWS_BIM), ROWS_CMD, INT_CMD, BIGINTMAT_CMD , ALLOW_NC |ALLOW_RING|NO_CONVERSION} 262 #ifdef SINGULAR_4_2 263 ,{D(jjROWS_BIM), ROWS_CMD, INT_CMD, CMATRIX_CMD , ALLOW_NC |ALLOW_RING|NO_CONVERSION} 264 #endif 265 ,{D(jjCOUNT_IV), ROWS_CMD, INT_CMD, INTVEC_CMD , ALLOW_NC |ALLOW_RING|NO_CONVERSION} 266 ,{D(jjSBA), SBA_CMD, IDEAL_CMD, IDEAL_CMD , ALLOW_PLURAL |ALLOW_RING} 267 ,{D(jjSBA), SBA_CMD, MODUL_CMD, MODUL_CMD , ALLOW_PLURAL |ALLOW_RING} 268 ,{D(jjSetRing), SETRING_CMD, NONE, RING_CMD , ALLOW_NC |ALLOW_RING} 269 ,{D(jjSLIM_GB), SLIM_GB_CMD, IDEAL_CMD, IDEAL_CMD , ALLOW_PLURAL |NO_RING} 270 ,{D(jjSLIM_GB), SLIM_GB_CMD, MODUL_CMD, MODUL_CMD , ALLOW_PLURAL |NO_RING} 271 ,{D(jjDUMMY), SMATRIX_CMD, SMATRIX_CMD, SMATRIX_CMD , ALLOW_NC |ALLOW_RING} 272 ,{D(jjSort_Id), SORTVEC_CMD, INTVEC_CMD, IDEAL_CMD , ALLOW_NC |ALLOW_RING} 273 ,{D(jjSort_Id), SORTVEC_CMD, INTVEC_CMD, MODUL_CMD , ALLOW_NC |ALLOW_RING} 274 ,{D(jjSQR_FREE), SQR_FREE_CMD, LIST_CMD, POLY_CMD , NO_NC |NO_RING} 275 ,{D(jjSTD), STD_CMD, IDEAL_CMD, IDEAL_CMD , ALLOW_NC |ALLOW_RING} 276 ,{D(jjSTD), STD_CMD, MODUL_CMD, MODUL_CMD , ALLOW_NC |ALLOW_RING} 277 ,{D(jjSTD), STD_CMD, SMATRIX_CMD, SMATRIX_CMD , ALLOW_NC |ALLOW_RING} 278 ,{D(jjDUMMY), STRING_CMD, STRING_CMD, STRING_CMD , ALLOW_NC |ALLOW_RING} 279 ,{D(jjSYZYGY), SYZYGY_CMD, MODUL_CMD, IDEAL_CMD , ALLOW_NC |ALLOW_RING} 280 ,{D(jjSYZYGY), SYZYGY_CMD, MODUL_CMD, MODUL_CMD , ALLOW_NC |ALLOW_RING} 281 ,{D(jjENVELOPE), ENVELOPE_CMD, RING_CMD, RING_CMD , ALLOW_PLURAL |NO_RING} 282 ,{D(jjOPPOSITE), OPPOSITE_CMD, RING_CMD, RING_CMD , ALLOW_PLURAL |NO_RING} 283 ,{D(jjTWOSTD), TWOSTD_CMD, IDEAL_CMD, IDEAL_CMD , ALLOW_NC |ALLOW_RING} 284 ,{D(jjTWOSTD), TWOSTD_CMD, MODUL_CMD, MODUL_CMD , ALLOW_LP |ALLOW_RING} 285 //,{ jjWRONG , TRACE_CMD, 0, INTVEC_CMD , ALLOW_NC |ALLOW_RING} 286 //,{ jjWRONG , TRACE_CMD, 0, IDEAL_CMD , ALLOW_NC |ALLOW_RING} 287 ,{D(jjTRACE_IV), TRACE_CMD, INT_CMD, INTMAT_CMD , ALLOW_PLURAL |ALLOW_RING|NO_CONVERSION} 288 ,{D(jjmpTrace), TRACE_CMD, POLY_CMD, MATRIX_CMD , ALLOW_PLURAL |ALLOW_RING|NO_CONVERSION} 289 ,{D(jjTRANSP_IV), TRANSPOSE_CMD, INTMAT_CMD, INTVEC_CMD , ALLOW_NC |ALLOW_RING} 290 ,{D(jjTRANSP_IV), TRANSPOSE_CMD, INTMAT_CMD, INTMAT_CMD , ALLOW_NC |ALLOW_RING} 291 ,{D(jjTRANSP_BIM), TRANSPOSE_CMD, BIGINTMAT_CMD, BIGINTMAT_CMD , ALLOW_NC |ALLOW_RING} 292 #ifdef SINGULAR_4_2 293 ,{D(jjTRANSP_BIM), TRANSPOSE_CMD, CMATRIX_CMD, CMATRIX_CMD , ALLOW_NC |ALLOW_RING} 294 #endif 295 ,{D(jjmpTransp), TRANSPOSE_CMD, MATRIX_CMD, MATRIX_CMD , ALLOW_NC |ALLOW_RING} 296 ,{D(jjidTransp), TRANSPOSE_CMD, MODUL_CMD, MODUL_CMD , ALLOW_NC |ALLOW_RING} 297 ,{D(jjidTransp), TRANSPOSE_CMD, SMATRIX_CMD, SMATRIX_CMD , ALLOW_NC |ALLOW_RING} 298 ,{D(jjTYPEOF), TYPEOF_CMD, STRING_CMD, ANY_TYPE , ALLOW_NC |ALLOW_RING} 299 ,{D(jjUNIVARIATE), UNIVARIATE_CMD, INT_CMD, POLY_CMD , ALLOW_PLURAL |ALLOW_RING} 300 ,{D(jjVARIABLES_P),VARIABLES_CMD, IDEAL_CMD, POLY_CMD , ALLOW_PLURAL |ALLOW_RING} 301 ,{D(jjVARIABLES_ID),VARIABLES_CMD, IDEAL_CMD, IDEAL_CMD , ALLOW_PLURAL |ALLOW_RING} 302 ,{D(jjVARIABLES_ID),VARIABLES_CMD, IDEAL_CMD, MATRIX_CMD , ALLOW_PLURAL |ALLOW_RING} 303 ,{D(jjDUMMY), VECTOR_CMD, VECTOR_CMD, VECTOR_CMD , ALLOW_NC |ALLOW_RING} 304 ,{D(jjVDIM), VDIM_CMD, INT_CMD, IDEAL_CMD , ALLOW_NC |ALLOW_RING |WARN_RING} /*ring-cf: warning at top level*/ 305 ,{D(jjVDIM), VDIM_CMD, INT_CMD, MODUL_CMD , ALLOW_PLURAL |ALLOW_RING |WARN_RING} /*ring-cf: warning at top level*/ 306 ,{D(jjVAR1), VAR_CMD, POLY_CMD, INT_CMD , ALLOW_NC |ALLOW_RING} 307 ,{D(jjVARSTR1), VARSTR_CMD, STRING_CMD, INT_CMD , ALLOW_NC |ALLOW_RING} 308 ,{D(jjrVarStr), VARSTR_CMD, STRING_CMD, RING_CMD , ALLOW_NC |ALLOW_RING} 309 ,{D(kWeight), WEIGHT_CMD, INTVEC_CMD, IDEAL_CMD , ALLOW_PLURAL |ALLOW_RING} 310 ,{D(kWeight), WEIGHT_CMD, INTVEC_CMD, MODUL_CMD , ALLOW_PLURAL |ALLOW_RING} 311 ,{D(jjLOAD1), LOAD_CMD, NONE, STRING_CMD , ALLOW_NC |ALLOW_RING} 312 ,{D(loNewtonP), NEWTONPOLY_CMD, IDEAL_CMD, IDEAL_CMD , ALLOW_PLURAL |ALLOW_RING} 313 ,{D(jjWAIT1ST1), WAIT1ST_CMD, INT_CMD, LIST_CMD , ALLOW_NC |ALLOW_RING} 314 ,{D(jjWAITALL1), WAITALL_CMD, INT_CMD, LIST_CMD , ALLOW_NC |ALLOW_RING} 315 ,{NULL_VAL, 0, 0, 0 , NO_NC |NO_RING} 316 }; 317 /*=================== operations with 2 arg.: table =================*/ 318 const struct sValCmd2 dArith2[]= 319 { 320 // operations: 321 // proc cmd res arg1 arg2 context 322 {D(jjCOLCOL), COLONCOLON, ANY_TYPE, DEF_CMD, DEF_CMD, ALLOW_NC | ALLOW_RING} 323 ,{D(jjPLUS_I), '+', INT_CMD, INT_CMD, INT_CMD, ALLOW_NC | ALLOW_RING} 324 ,{D(jjPLUS_BI), '+', BIGINT_CMD, BIGINT_CMD, BIGINT_CMD, ALLOW_NC | ALLOW_RING} 325 ,{D(jjPLUS_N), '+', NUMBER_CMD, NUMBER_CMD, NUMBER_CMD, ALLOW_NC | ALLOW_RING} 326 ,{D(jjPLUS_B), '+', BUCKET_CMD, POLY_CMD, POLY_CMD, ALLOW_NC | ALLOW_RING} 327 ,{D(jjPLUS_V), '+', VECTOR_CMD, VECTOR_CMD, VECTOR_CMD, ALLOW_NC | ALLOW_RING} 328 ,{D(jjPLUS_ID), '+', IDEAL_CMD, IDEAL_CMD, IDEAL_CMD, ALLOW_NC | ALLOW_RING} 329 ,{D(jjPLUS_ID), '+', MODUL_CMD, MODUL_CMD, MODUL_CMD, ALLOW_NC | ALLOW_RING} 330 ,{D(jjPLUS_P_MA), '+', MATRIX_CMD, POLY_CMD, MATRIX_CMD, ALLOW_NC | ALLOW_RING} 331 ,{D(jjPLUS_MA_P), '+', MATRIX_CMD, MATRIX_CMD, POLY_CMD, ALLOW_NC | ALLOW_RING} 332 ,{D(jjPLUS_MA), '+', MATRIX_CMD, MATRIX_CMD, MATRIX_CMD, ALLOW_NC | ALLOW_RING} 333 ,{D(jjPLUS_SM), '+', SMATRIX_CMD, SMATRIX_CMD,SMATRIX_CMD, ALLOW_NC | ALLOW_RING} 334 ,{D(jjPLUS_S), '+', STRING_CMD, STRING_CMD, STRING_CMD, ALLOW_NC | ALLOW_RING} 335 ,{D(jjPLUS_BIM), '+', BIGINTMAT_CMD, BIGINTMAT_CMD, BIGINTMAT_CMD, ALLOW_NC | ALLOW_RING} 336 ,{D(jjOP_BIM_I), '+', BIGINTMAT_CMD, BIGINTMAT_CMD, INT_CMD, ALLOW_NC | ALLOW_RING} 337 ,{D(jjOP_I_BIM), '+', BIGINTMAT_CMD, INT_CMD, BIGINTMAT_CMD, ALLOW_NC | ALLOW_RING} 338 ,{D(jjOP_BIM_BI), '+', BIGINTMAT_CMD, BIGINTMAT_CMD, BIGINT_CMD, ALLOW_NC | ALLOW_RING} 339 ,{D(jjOP_BI_BIM), '+', BIGINTMAT_CMD, BIGINT_CMD, BIGINTMAT_CMD, ALLOW_NC | ALLOW_RING} 340 ,{D(jjOP_IV_I), '+', INTVEC_CMD, INTVEC_CMD, INT_CMD, ALLOW_NC | ALLOW_RING} 341 ,{D(jjOP_I_IV), '+', INTVEC_CMD, INT_CMD, INTVEC_CMD, ALLOW_NC | ALLOW_RING} 342 ,{D(jjOP_IM_I), '+', INTMAT_CMD, INTMAT_CMD, INT_CMD, ALLOW_NC | ALLOW_RING} 343 ,{D(jjOP_I_IM), '+', INTMAT_CMD, INT_CMD, INTMAT_CMD, ALLOW_NC | ALLOW_RING} 344 ,{D(jjPLUS_IV), '+', INTVEC_CMD, INTVEC_CMD, INTVEC_CMD, ALLOW_NC | ALLOW_RING} 345 ,{D(jjPLUS_IV), '+', INTMAT_CMD, INTMAT_CMD, INTMAT_CMD, ALLOW_NC | ALLOW_RING} 346 #ifdef SINGULAR_4_2 347 ,{D(jjNUMBER2_OP2),'+', CNUMBER_CMD, CNUMBER_CMD,CNUMBER_CMD, ALLOW_NC | ALLOW_RING} 348 ,{D(jjNUMBER2_OP2),'+', CNUMBER_CMD, DEF_CMD, CNUMBER_CMD, ALLOW_NC | ALLOW_RING} 349 ,{D(jjNUMBER2_OP2),'+', CNUMBER_CMD, CNUMBER_CMD,DEF_CMD, ALLOW_NC | ALLOW_RING} 350 ,{D(jjPOLY2_OP2), '+', CPOLY_CMD, CPOLY_CMD, DEF_CMD, ALLOW_NC | ALLOW_RING} 351 ,{D(jjPOLY2_OP2), '+', CPOLY_CMD, DEF_CMD, CPOLY_CMD, ALLOW_NC | ALLOW_RING} 352 ,{D(jjPLUS_BIM), '+', CMATRIX_CMD, CMATRIX_CMD, CMATRIX_CMD, ALLOW_NC | ALLOW_RING} 353 #endif 354 ,{D(lAdd), '+', LIST_CMD, LIST_CMD, LIST_CMD, ALLOW_NC | ALLOW_RING} 355 ,{D(jjRSUM), '+', RING_CMD, RING_CMD, RING_CMD, ALLOW_NC | ALLOW_RING} 356 ,{D(jjRPLUS), '+', RING_CMD, RING_CMD, STRING_CMD, ALLOW_LP | ALLOW_RING} 357 ,{D(jjRPLUS), '+', RING_CMD, STRING_CMD, RING_CMD, ALLOW_LP | ALLOW_RING} 358 ,{D(jjPLUS_B_P), '+', BUCKET_CMD, BUCKET_CMD, POLY_CMD, ALLOW_NC | ALLOW_RING} 359 ,{D(jjMINUS_I), '-', INT_CMD, INT_CMD, INT_CMD, ALLOW_NC | ALLOW_RING} 360 ,{D(jjMINUS_BI), '-', BIGINT_CMD, BIGINT_CMD, BIGINT_CMD, ALLOW_NC | ALLOW_RING} 361 ,{D(jjMINUS_N), '-', NUMBER_CMD, NUMBER_CMD, NUMBER_CMD, ALLOW_NC | ALLOW_RING} 362 ,{D(jjMINUS_B), '-', BUCKET_CMD, POLY_CMD, POLY_CMD, ALLOW_NC | ALLOW_RING} 363 ,{D(jjMINUS_V), '-', VECTOR_CMD, VECTOR_CMD, VECTOR_CMD, ALLOW_NC | ALLOW_RING} 364 ,{D(jjMINUS_V), '-', VECTOR_CMD, VECTOR_CMD, VECTOR_CMD, ALLOW_NC | ALLOW_RING} 365 ,{D(jjPLUS_MA_P), '-', MATRIX_CMD, MATRIX_CMD, POLY_CMD, ALLOW_NC | ALLOW_RING} 366 ,{D(jjMINUS_MA), '-', MATRIX_CMD, MATRIX_CMD, MATRIX_CMD, ALLOW_NC | ALLOW_RING} 367 ,{D(jjMINUS_SM), '-', SMATRIX_CMD, SMATRIX_CMD,SMATRIX_CMD, ALLOW_NC | ALLOW_RING} 368 ,{D(jjMINUS_BIM), '-', BIGINTMAT_CMD, BIGINTMAT_CMD, BIGINTMAT_CMD, ALLOW_NC | ALLOW_RING} 369 ,{D(jjOP_BIM_I), '-', BIGINTMAT_CMD, BIGINTMAT_CMD, INT_CMD, ALLOW_NC | ALLOW_RING} 370 ,{D(jjOP_I_BIM), '-', BIGINTMAT_CMD, INT_CMD, BIGINTMAT_CMD, ALLOW_NC | ALLOW_RING} 371 ,{D(jjOP_BIM_BI), '-', BIGINTMAT_CMD, BIGINTMAT_CMD, BIGINT_CMD, ALLOW_NC | ALLOW_RING} 372 ,{D(jjOP_BI_BIM), '-', BIGINTMAT_CMD, BIGINT_CMD, BIGINTMAT_CMD, ALLOW_NC | ALLOW_RING} 373 ,{D(jjOP_IV_I), '-', INTVEC_CMD, INTVEC_CMD, INT_CMD, ALLOW_NC | ALLOW_RING} 374 ,{D(jjOP_IM_I), '-', INTMAT_CMD, INTMAT_CMD, INT_CMD, ALLOW_NC | ALLOW_RING} 375 ,{D(jjMINUS_IV), '-', INTVEC_CMD, INTVEC_CMD, INTVEC_CMD, ALLOW_NC | ALLOW_RING} 376 ,{D(jjMINUS_IV), '-', INTMAT_CMD, INTMAT_CMD, INTMAT_CMD, ALLOW_NC | ALLOW_RING} 377 #ifdef SINGULAR_4_2 378 ,{D(jjNUMBER2_OP2),'-', CNUMBER_CMD, CNUMBER_CMD,CNUMBER_CMD, ALLOW_NALLOW_NC | ALLOW_RING} 379 ,{D(jjNUMBER2_OP2),'-', CNUMBER_CMD, INT_CMD, CNUMBER_CMD, ALLOW_NC | ALLOW_RING} 380 ,{D(jjNUMBER2_OP2),'-', CNUMBER_CMD, CNUMBER_CMD,INT_CMD, ALLOW_NC | ALLOW_RING} 381 ,{D(jjNUMBER2_OP2),'-', CNUMBER_CMD, BIGINT_CMD, CNUMBER_CMD, ALLOW_NC | ALLOW_RING} 382 ,{D(jjNUMBER2_OP2),'-', CNUMBER_CMD, CNUMBER_CMD,BIGINT_CMD, ALLOW_NC | ALLOW_RING} 383 ,{D(jjPOLY2_OP2), '-', CPOLY_CMD, CPOLY_CMD, CPOLY_CMD, ALLOW_NC | ALLOW_RING} 384 ,{D(jjPOLY2_OP2), '-', CPOLY_CMD, CPOLY_CMD, INT_CMD, ALLOW_NC | ALLOW_RING} 385 ,{D(jjPOLY2_OP2), '-', CPOLY_CMD, INT_CMD, CPOLY_CMD, ALLOW_NC | ALLOW_RING} 386 ,{D(jjMINUS_BIM), '-', CMATRIX_CMD, CMATRIX_CMD,CMATRIX_CMD, ALLOW_NC | ALLOW_RING} 387 #endif 388 ,{D(jjRMINUS), '-', RING_CMD, RING_CMD, STRING_CMD, ALLOW_LP | ALLOW_RING} 389 ,{D(jjMINUS_B_P), '-', BUCKET_CMD, BUCKET_CMD, POLY_CMD, ALLOW_NC | ALLOW_RING} 390 ,{ jjWRONG2 , '-', NONE, IDEAL_CMD, IDEAL_CMD, ALLOW_NC | ALLOW_RING} 391 ,{ jjWRONG2 , '-', NONE, MODUL_CMD, MODUL_CMD, ALLOW_NC | ALLOW_RING} 392 ,{D(jjTIMES_I), '*', INT_CMD, INT_CMD, INT_CMD, ALLOW_NC | ALLOW_RING} 393 ,{D(jjTIMES_BI), '*', BIGINT_CMD, BIGINT_CMD, BIGINT_CMD, ALLOW_NC | ALLOW_RING} 394 ,{D(jjTIMES_N), '*', NUMBER_CMD, NUMBER_CMD, NUMBER_CMD, ALLOW_NC | ALLOW_RING} 395 ,{D(jjTIMES_P), '*', POLY_CMD, POLY_CMD, POLY_CMD, ALLOW_NC | ALLOW_RING} 396 ,{D(jjTIMES_P), '*', VECTOR_CMD, POLY_CMD, VECTOR_CMD, ALLOW_NC | ALLOW_RING} 397 ,{D(jjTIMES_P), '*', VECTOR_CMD, VECTOR_CMD, POLY_CMD, ALLOW_NC | ALLOW_RING} 398 ,{D(jjTIMES_MA_P1),'*', IDEAL_CMD, IDEAL_CMD, POLY_CMD, ALLOW_NC | ALLOW_RING} 399 ,{D(jjTIMES_MA_P2),'*', IDEAL_CMD, POLY_CMD, IDEAL_CMD, ALLOW_NC | ALLOW_RING} 400 ,{D(jjTIMES_MA_P1),'*', MODUL_CMD, MODUL_CMD, POLY_CMD, ALLOW_NC | ALLOW_RING} 401 ,{D(jjTIMES_MA_P2),'*', MODUL_CMD, POLY_CMD, MODUL_CMD, ALLOW_NC | ALLOW_RING} 402 ,{D(jjTIMES_ID), '*', IDEAL_CMD, IDEAL_CMD, IDEAL_CMD, ALLOW_NC | ALLOW_RING} 403 ,{D(jjTIMES_MA_P1),'*', MODUL_CMD, IDEAL_CMD, VECTOR_CMD, ALLOW_NC | ALLOW_RING} 404 ,{D(jjTIMES_MA_P2),'*', MODUL_CMD, VECTOR_CMD, IDEAL_CMD, ALLOW_NC | ALLOW_RING} 405 ,{D(jjTIMES_ID), '*', MODUL_CMD, IDEAL_CMD, MODUL_CMD, ALLOW_NC | ALLOW_RING} 406 ,{D(jjTIMES_ID), '*', MODUL_CMD, MODUL_CMD, IDEAL_CMD, ALLOW_NC | ALLOW_RING} 407 ,{D(jjTIMES_MA_P1),'*', MATRIX_CMD, MATRIX_CMD, POLY_CMD, ALLOW_NC | ALLOW_RING} 408 ,{D(jjTIMES_MA_P2),'*', MATRIX_CMD, POLY_CMD, MATRIX_CMD, ALLOW_NC | ALLOW_RING} 409 ,{D(jjTIMES_MA_N1),'*', MATRIX_CMD, MATRIX_CMD, NUMBER_CMD, ALLOW_NC | ALLOW_RING} 410 ,{D(jjTIMES_MA_N2),'*', MATRIX_CMD, NUMBER_CMD, MATRIX_CMD, ALLOW_NC | ALLOW_RING} 411 ,{D(jjTIMES_MA_I1),'*', MATRIX_CMD, MATRIX_CMD, INT_CMD, ALLOW_NC | ALLOW_RING} 412 ,{D(jjTIMES_MA_I2),'*', MATRIX_CMD, INT_CMD, MATRIX_CMD, ALLOW_NC | ALLOW_RING} 413 ,{D(jjTIMES_MA), '*', MATRIX_CMD, MATRIX_CMD, MATRIX_CMD, ALLOW_NC | ALLOW_RING} 414 ,{D(jjTIMES_MA_BI1),'*', MATRIX_CMD, MATRIX_CMD, BIGINT_CMD, ALLOW_NC | ALLOW_RING} 415 ,{D(jjTIMES_MA_BI2),'*', MATRIX_CMD, BIGINT_CMD, MATRIX_CMD, ALLOW_NC | ALLOW_RING} 416 ,{D(jjTIMES_SM), '*', SMATRIX_CMD, SMATRIX_CMD,SMATRIX_CMD, ALLOW_NC | ALLOW_RING} 417 ,{D(jjTIMES_BIM), '*', BIGINTMAT_CMD, BIGINTMAT_CMD, BIGINTMAT_CMD, ALLOW_NC | ALLOW_RING} 418 ,{D(jjOP_BIM_I), '*', BIGINTMAT_CMD, BIGINTMAT_CMD, INT_CMD, ALLOW_NC | ALLOW_RING} 419 ,{D(jjOP_I_BIM), '*', BIGINTMAT_CMD, INT_CMD, BIGINTMAT_CMD, ALLOW_NC | ALLOW_RING} 420 ,{D(jjOP_BIM_BI), '*', BIGINTMAT_CMD, BIGINTMAT_CMD, BIGINT_CMD, ALLOW_PLURAL | ALLOW_RING} 421 ,{D(jjOP_BI_BIM), '*', BIGINTMAT_CMD, BIGINT_CMD, BIGINTMAT_CMD, ALLOW_NC | ALLOW_RING} 422 ,{D(jjOP_IV_I), '*', INTVEC_CMD, INTVEC_CMD, INT_CMD, ALLOW_NC | ALLOW_RING} 423 ,{D(jjOP_I_IV), '*', INTVEC_CMD, INT_CMD, INTVEC_CMD, ALLOW_NC | ALLOW_RING} 424 ,{D(jjOP_IV_I), '*', INTMAT_CMD, INTMAT_CMD, INT_CMD, ALLOW_NC | ALLOW_RING} 425 ,{D(jjOP_I_IV), '*', INTMAT_CMD, INT_CMD, INTMAT_CMD, ALLOW_NC | ALLOW_RING} 426 ,{D(jjTIMES_IV), '*', INTVEC_CMD, INTMAT_CMD, INTVEC_CMD, ALLOW_NC | ALLOW_RING} 427 ,{D(jjTIMES_IV), '*', INTMAT_CMD, INTMAT_CMD, INTMAT_CMD, ALLOW_NC | ALLOW_RING} 428 ,{D(jjTIMES_IV), '*', INTMAT_CMD, INTVEC_CMD, INTMAT_CMD, ALLOW_NC | ALLOW_RING} 429 #ifdef SINGULAR_4_2 430 ,{D(jjNUMBER2_OP2),'*', CNUMBER_CMD, CNUMBER_CMD,CNUMBER_CMD, ALLOW_NC | ALLOW_RING} 431 ,{D(jjNUMBER2_OP2),'*', CNUMBER_CMD, INT_CMD, CNUMBER_CMD, ALLOW_NC | ALLOW_RING} 432 ,{D(jjNUMBER2_OP2),'*', CNUMBER_CMD, CNUMBER_CMD,INT_CMD, ALLOW_NC | ALLOW_RING} 433 ,{D(jjNUMBER2_OP2),'*', CNUMBER_CMD, BIGINT_CMD, CNUMBER_CMD, ALLOW_NC | ALLOW_RING} 434 ,{D(jjNUMBER2_OP2),'*', CNUMBER_CMD, CNUMBER_CMD,BIGINT_CMD, ALLOW_NC | ALLOW_RING} 435 ,{D(jjPOLY2_OP2), '*', CPOLY_CMD, CPOLY_CMD, CPOLY_CMD, ALLOW_NC | ALLOW_RING} 436 ,{D(jjPOLY2_OP2), '*', CPOLY_CMD, CPOLY_CMD, INT_CMD, ALLOW_NC | ALLOW_RING} 437 ,{D(jjPOLY2_OP2), '*', CPOLY_CMD, INT_CMD, CPOLY_CMD, ALLOW_NC | ALLOW_RING} 438 ,{D(jjTIMES_BIM), '*', CMATRIX_CMD, CMATRIX_CMD, CMATRIX_CMD, ALLOW_NC | ALLOW_RING} 439 #endif 440 ,{ jjWRONG2, '*', 0, MODUL_CMD, MODUL_CMD, ALLOW_NC | ALLOW_RING|NO_CONVERSION} 441 ,{D(jjDIV_N), '/', NUMBER_CMD, NUMBER_CMD, NUMBER_CMD, ALLOW_NC | ALLOW_RING} 442 ,{D(jjDIV_P), '/', POLY_CMD, POLY_CMD, POLY_CMD, ALLOW_NC | ALLOW_RING} 443 ,{D(jjDIV_P), '/', VECTOR_CMD, VECTOR_CMD, POLY_CMD, ALLOW_NC | ALLOW_RING} 444 ,{D(jjDIV_Ma), '/', MATRIX_CMD, MATRIX_CMD, POLY_CMD, ALLOW_PLURAL | NO_RING} 445 ,{D(jjDIVMOD_I), '/', INT_CMD, INT_CMD, INT_CMD, ALLOW_NC | ALLOW_RING} 446 ,{D(jjDIV_BI), '/', BIGINT_CMD, BIGINT_CMD, BIGINT_CMD, ALLOW_NC | ALLOW_RING} 447 ,{D(jjOP_IV_I), '/', INTVEC_CMD, INTVEC_CMD, INT_CMD, ALLOW_NC | ALLOW_RING} 448 ,{D(jjOP_IV_I), '/', INTMAT_CMD, INTMAT_CMD, INT_CMD, ALLOW_NC | ALLOW_RING} 449 ,{D(jjCRING_Zp), '/', CRING_CMD, CRING_CMD, INT_CMD, ALLOW_PLURAL | ALLOW_RING} 450 ,{D(jjCRING_Zm), '/', CRING_CMD, CRING_CMD, BIGINT_CMD, ALLOW_PLURAL | ALLOW_RING} 451 #ifdef SINGULAR_4_2 452 ,{D(jjNUMBER2_OP2),'/', CNUMBER_CMD, CNUMBER_CMD,CNUMBER_CMD, ALLOW_NC | ALLOW_RING} 453 ,{D(jjNUMBER2_OP2),'/', CNUMBER_CMD, INT_CMD, CNUMBER_CMD, ALLOW_NC | ALLOW_RING} 454 ,{D(jjNUMBER2_OP2),'/', CNUMBER_CMD, CNUMBER_CMD,INT_CMD, ALLOW_NC | ALLOW_RING} 455 ,{D(jjNUMBER2_OP2),'/', CNUMBER_CMD, BIGINT_CMD, CNUMBER_CMD, ALLOW_NC | ALLOW_RING} 456 ,{D(jjNUMBER2_OP2),'/', CNUMBER_CMD, CNUMBER_CMD,BIGINT_CMD, ALLOW_NC | ALLOW_RING} 457 #endif 458 ,{D(jjDIVMOD_I), INTDIV_CMD, INT_CMD, INT_CMD, INT_CMD, ALLOW_NC | ALLOW_RING} 459 ,{D(jjDIV_BI), INTDIV_CMD, BIGINT_CMD, BIGINT_CMD, BIGINT_CMD, ALLOW_NC | ALLOW_RING} 460 ,{D(jjOP_IV_I), INTDIV_CMD, INTVEC_CMD, INTVEC_CMD, INT_CMD, ALLOW_NC | ALLOW_RING} 461 ,{D(jjOP_IV_I), INTDIV_CMD, INTMAT_CMD, INTMAT_CMD, INT_CMD, ALLOW_NC | ALLOW_RING} 462 ,{D(jjDIV_P), INTDIV_CMD, POLY_CMD, POLY_CMD, POLY_CMD, ALLOW_PLURAL | ALLOW_RING} 463 ,{D(jjDIV_P), INTDIV_CMD, VECTOR_CMD, VECTOR_CMD, POLY_CMD, ALLOW_PLURAL | ALLOW_RING} 464 ,{D(jjDIVMOD_I), '%', INT_CMD, INT_CMD, INT_CMD, ALLOW_NC | ALLOW_RING} 465 ,{D(jjMOD_BI), '%', BIGINT_CMD, BIGINT_CMD, BIGINT_CMD, ALLOW_NC | ALLOW_RING} 466 ,{D(jjOP_IV_I), '%', INTVEC_CMD, INTVEC_CMD, INT_CMD, ALLOW_NC | ALLOW_RING} 467 ,{D(jjOP_IV_I), '%', INTMAT_CMD, INTMAT_CMD, INT_CMD, ALLOW_NC | ALLOW_RING} 468 ,{D(jjMOD_N), '%', NUMBER_CMD, NUMBER_CMD, NUMBER_CMD, ALLOW_NC | ALLOW_RING} 469 ,{D(jjMOD_P), '%', POLY_CMD, POLY_CMD, POLY_CMD, NO_NC | NO_RING} 470 #ifdef SINGULAR_4_2 471 ,{D(jjNUMBER2_OP2),'%', CNUMBER_CMD, CNUMBER_CMD,CNUMBER_CMD, ALLOW_NC | ALLOW_RING} 472 ,{D(jjNUMBER2_OP2),'%', CNUMBER_CMD, INT_CMD, CNUMBER_CMD, ALLOW_NC | ALLOW_RING} 473 ,{D(jjNUMBER2_OP2),'%', CNUMBER_CMD, CNUMBER_CMD,INT_CMD, ALLOW_NC | ALLOW_RING} 474 ,{D(jjNUMBER2_OP2),'%', CNUMBER_CMD, BIGINT_CMD, CNUMBER_CMD, ALLOW_NC | ALLOW_RING} 475 ,{D(jjNUMBER2_OP2),'%', CNUMBER_CMD, CNUMBER_CMD,BIGINT_CMD, ALLOW_NC | ALLOW_RING} 476 #endif 477 ,{D(jjPOWER_I), '^', INT_CMD, INT_CMD, INT_CMD, ALLOW_NC | ALLOW_RING} 478 ,{D(jjPOWER_BI), '^', BIGINT_CMD, BIGINT_CMD, INT_CMD, ALLOW_NC | ALLOW_RING} 479 ,{D(jjPOWER_N), '^', NUMBER_CMD, NUMBER_CMD, INT_CMD, ALLOW_NC | ALLOW_RING} 480 ,{D(jjPOWER_P), '^', POLY_CMD, POLY_CMD, INT_CMD, ALLOW_NC | ALLOW_RING} 481 ,{D(jjPOWER_ID), '^', IDEAL_CMD, IDEAL_CMD, INT_CMD, ALLOW_PLURAL | ALLOW_RING} 482 #ifdef SINGULAR_4_2 483 ,{D(jjNUMBER2_POW),'^', CNUMBER_CMD, CNUMBER_CMD,INT_CMD, ALLOW_NC | ALLOW_RING} 484 ,{D(jjPOLY2_POW), '^', CPOLY_CMD, CPOLY_CMD, INT_CMD, ALLOW_PLURAL | ALLOW_RING} 485 #endif 486 ,{D(jjLE_I), LE, INT_CMD, INT_CMD, INT_CMD, ALLOW_NC | ALLOW_RING} 487 ,{D(jjLE_BI), LE, INT_CMD, BIGINT_CMD, BIGINT_CMD, ALLOW_NC | ALLOW_RING} 488 ,{D(jjLE_N), LE, INT_CMD, NUMBER_CMD, NUMBER_CMD, ALLOW_NC | ALLOW_RING} 489 ,{D(jjCOMPARE_S), LE, INT_CMD, STRING_CMD, STRING_CMD, ALLOW_NC | ALLOW_RING} 490 ,{D(jjCOMPARE_IV_I),LE, INT_CMD, INTVEC_CMD, INT_CMD, ALLOW_NC | ALLOW_RING} 491 ,{D(jjCOMPARE_IV),LE, INT_CMD, INTVEC_CMD, INTVEC_CMD, ALLOW_NC | ALLOW_RING} 492 ,{D(jjCOMPARE_P), LE, INT_CMD, POLY_CMD, POLY_CMD, ALLOW_NC | ALLOW_RING} 493 ,{D(jjCOMPARE_P), LE, INT_CMD, VECTOR_CMD, VECTOR_CMD, ALLOW_NC | ALLOW_RING} 494 ,{D(jjCOMPARE_MA),LE, INT_CMD, MATRIX_CMD, MATRIX_CMD, ALLOW_NC | ALLOW_RING | NO_CONVERSION } 495 ,{D(jjLT_I), '<', INT_CMD, INT_CMD, INT_CMD, ALLOW_NC | ALLOW_RING} 496 ,{D(jjLT_BI), '<', INT_CMD, BIGINT_CMD, BIGINT_CMD, ALLOW_NC | ALLOW_RING} 497 ,{D(jjLT_N), '<', INT_CMD, NUMBER_CMD, NUMBER_CMD, ALLOW_NC | ALLOW_RING} 498 ,{D(jjCOMPARE_IV_I),'<', INT_CMD, INTVEC_CMD, INT_CMD, ALLOW_NC | ALLOW_RING} 499 ,{D(jjCOMPARE_IV),'<', INT_CMD, INTVEC_CMD, INTVEC_CMD, ALLOW_NC | ALLOW_RING} 500 ,{D(jjCOMPARE_S), '<', INT_CMD, STRING_CMD, STRING_CMD, ALLOW_NC | ALLOW_RING} 501 ,{D(jjCOMPARE_P), '<', INT_CMD, POLY_CMD, POLY_CMD, ALLOW_NC | ALLOW_RING} 502 ,{D(jjCOMPARE_P), '<', INT_CMD, VECTOR_CMD, VECTOR_CMD, ALLOW_NC | ALLOW_RING} 503 ,{D(jjCOMPARE_MA),'<', INT_CMD, MATRIX_CMD, MATRIX_CMD, ALLOW_NC | ALLOW_RING | NO_CONVERSION } 504 ,{D(jjGE_I), GE, INT_CMD, INT_CMD, INT_CMD, ALLOW_NC | ALLOW_RING} 505 ,{D(jjGE_BI), GE, INT_CMD, BIGINT_CMD, BIGINT_CMD, ALLOW_NC | ALLOW_RING} 506 ,{D(jjGE_N), GE, INT_CMD, NUMBER_CMD, NUMBER_CMD, ALLOW_NC | ALLOW_RING} 507 ,{D(jjCOMPARE_S), GE, INT_CMD, STRING_CMD, STRING_CMD, ALLOW_NC | ALLOW_RING} 508 ,{D(jjCOMPARE_IV_I),GE, INT_CMD, INTVEC_CMD, INT_CMD, ALLOW_NC | ALLOW_RING} 509 ,{D(jjCOMPARE_IV),GE, INT_CMD, INTVEC_CMD, INTVEC_CMD, ALLOW_NC | ALLOW_RING} 510 ,{D(jjCOMPARE_P), GE, INT_CMD, POLY_CMD, POLY_CMD, ALLOW_NC | ALLOW_RING} 511 ,{D(jjCOMPARE_P), GE, INT_CMD, VECTOR_CMD, VECTOR_CMD, ALLOW_NC | ALLOW_RING} 512 ,{D(jjCOMPARE_MA),GE, INT_CMD, MATRIX_CMD, MATRIX_CMD, ALLOW_NC | ALLOW_RING | NO_CONVERSION } 513 ,{D(jjGT_I), '>', INT_CMD, INT_CMD, INT_CMD, ALLOW_NC | ALLOW_RING} 514 ,{D(jjGT_BI), '>', INT_CMD, BIGINT_CMD, BIGINT_CMD, ALLOW_NC | ALLOW_RING} 515 ,{D(jjGT_N), '>', INT_CMD, NUMBER_CMD, NUMBER_CMD, ALLOW_NC | ALLOW_RING} 516 ,{D(jjCOMPARE_S), '>', INT_CMD, STRING_CMD, STRING_CMD, ALLOW_NC | ALLOW_RING} 517 ,{D(jjCOMPARE_IV_I),'>', INT_CMD, INTVEC_CMD, INT_CMD, ALLOW_NC | ALLOW_RING} 518 ,{D(jjCOMPARE_IV),'>', INT_CMD, INTVEC_CMD, INTVEC_CMD, ALLOW_NC | ALLOW_RING} 519 ,{D(jjCOMPARE_P), '>', INT_CMD, POLY_CMD, POLY_CMD, ALLOW_NC | ALLOW_RING} 520 ,{D(jjCOMPARE_P), '>', INT_CMD, VECTOR_CMD, VECTOR_CMD, ALLOW_NC | ALLOW_RING} 521 ,{D(jjCOMPARE_MA),'>', INT_CMD, MATRIX_CMD, MATRIX_CMD, ALLOW_NC | ALLOW_RING | NO_CONVERSION } 522 ,{D(jjAND_I), '&', INT_CMD, INT_CMD, INT_CMD, ALLOW_NC | ALLOW_RING} 523 ,{D(jjOR_I), '|', INT_CMD, INT_CMD, INT_CMD, ALLOW_NC | ALLOW_RING} 524 ,{D(jjEQUAL_I), EQUAL_EQUAL, INT_CMD, INT_CMD, INT_CMD, ALLOW_NC | ALLOW_RING} 525 ,{D(jjEQUAL_I), EQUAL_EQUAL, INT_CMD, RING_CMD, INT_CMD, ALLOW_NC | ALLOW_RING} 526 ,{D(jjEQUAL_I), EQUAL_EQUAL, INT_CMD, RING_CMD, RING_CMD, ALLOW_NC | ALLOW_RING} 527 ,{D(jjEQUAL_BI), EQUAL_EQUAL, INT_CMD, BIGINT_CMD, BIGINT_CMD, ALLOW_NC | ALLOW_RING} 528 ,{D(jjEQUAL_N), EQUAL_EQUAL, INT_CMD, NUMBER_CMD, NUMBER_CMD, ALLOW_NC | ALLOW_RING} 529 ,{D(jjCOMPARE_S), EQUAL_EQUAL, INT_CMD, STRING_CMD, STRING_CMD, ALLOW_NC | ALLOW_RING} 530 ,{D(jjEQUAL_P), EQUAL_EQUAL, INT_CMD, POLY_CMD, POLY_CMD, ALLOW_NC | ALLOW_RING} 531 ,{D(jjEQUAL_P), EQUAL_EQUAL, INT_CMD, VECTOR_CMD, VECTOR_CMD, ALLOW_NC | ALLOW_RING} 532 ,{D(jjCOMPARE_IV_I),EQUAL_EQUAL, INT_CMD, INTVEC_CMD, INT_CMD, ALLOW_NC | ALLOW_RING} 533 ,{D(jjCOMPARE_IV),EQUAL_EQUAL, INT_CMD, INTVEC_CMD, INTVEC_CMD, ALLOW_NC | ALLOW_RING} 534 ,{D(jjCOMPARE_IV),EQUAL_EQUAL, INT_CMD, INTMAT_CMD, INTMAT_CMD, ALLOW_NC | ALLOW_RING} 535 ,{D(jjCOMPARE_BIM),EQUAL_EQUAL, INT_CMD, BIGINTMAT_CMD, BIGINTMAT_CMD, ALLOW_NC | ALLOW_RING} 536 #ifdef SINGULAR_4_2 537 ,{D(jjCOMPARE_BIM),EQUAL_EQUAL, INT_CMD, CMATRIX_CMD, CMATRIX_CMD, ALLOW_NC | ALLOW_RING} 538 #endif 539 ,{D(jjEQUAL_CR), EQUAL_EQUAL, INT_CMD, CRING_CMD, CRING_CMD, ALLOW_NC | ALLOW_RING} 540 ,{D(jjEQUAL_Ma), EQUAL_EQUAL, INT_CMD, MATRIX_CMD, MATRIX_CMD, ALLOW_NC | ALLOW_RING} 541 ,{D(jjEQUAL_SM), EQUAL_EQUAL, INT_CMD, SMATRIX_CMD,SMATRIX_CMD, ALLOW_NC | ALLOW_RING} 542 ,{D(jjEQUAL_R), EQUAL_EQUAL, INT_CMD, RING_CMD, RING_CMD, ALLOW_NC | ALLOW_RING} 543 ,{ jjWRONG2 , EQUAL_EQUAL, 0, IDEAL_CMD, IDEAL_CMD, ALLOW_NC | ALLOW_RING} 544 ,{ jjWRONG2 , EQUAL_EQUAL, 0, MODUL_CMD, MODUL_CMD, ALLOW_NC | ALLOW_RING} 545 ,{ jjWRONG2 , EQUAL_EQUAL, 0, IDEAL_CMD, MODUL_CMD, ALLOW_NC | ALLOW_RING} 546 ,{ jjWRONG2 , EQUAL_EQUAL, 0, MODUL_CMD, IDEAL_CMD, ALLOW_NC | ALLOW_RING} 547 ,{D(jjEQUAL_I), NOTEQUAL, INT_CMD, INT_CMD, INT_CMD, ALLOW_NC | ALLOW_RING} 548 ,{D(jjEQUAL_BI), NOTEQUAL, INT_CMD, BIGINT_CMD, BIGINT_CMD, ALLOW_NC | ALLOW_RING} 549 ,{D(jjEQUAL_N), NOTEQUAL, INT_CMD, NUMBER_CMD, NUMBER_CMD, ALLOW_NC | ALLOW_RING} 550 ,{D(jjCOMPARE_S), NOTEQUAL, INT_CMD, STRING_CMD, STRING_CMD, ALLOW_NC | ALLOW_RING} 551 ,{D(jjEQUAL_P), NOTEQUAL, INT_CMD, POLY_CMD, POLY_CMD, ALLOW_NC | ALLOW_RING} 552 ,{D(jjEQUAL_P), NOTEQUAL, INT_CMD, VECTOR_CMD, VECTOR_CMD, ALLOW_NC | ALLOW_RING} 553 ,{D(jjCOMPARE_IV),NOTEQUAL, INT_CMD, INTVEC_CMD, INTVEC_CMD, ALLOW_NC | ALLOW_RING} 554 ,{D(jjCOMPARE_IV),NOTEQUAL, INT_CMD, INTMAT_CMD, INTMAT_CMD, ALLOW_NC | ALLOW_RING} 555 ,{D(jjEQUAL_Ma), NOTEQUAL, INT_CMD, MATRIX_CMD, MATRIX_CMD, ALLOW_NC | ALLOW_RING} 556 ,{D(jjEQUAL_SM), NOTEQUAL, INT_CMD, SMATRIX_CMD,SMATRIX_CMD, ALLOW_NC | ALLOW_RING} 557 ,{D(jjEQUAL_CR), NOTEQUAL, INT_CMD, CRING_CMD, CRING_CMD, ALLOW_NC | ALLOW_RING} 558 ,{ jjWRONG2 , NOTEQUAL, 0, IDEAL_CMD, IDEAL_CMD, ALLOW_NC | ALLOW_RING} 559 ,{ jjWRONG2 , NOTEQUAL, 0, MODUL_CMD, MODUL_CMD, ALLOW_NC | ALLOW_RING} 560 ,{ jjWRONG2 , NOTEQUAL, 0, IDEAL_CMD, MODUL_CMD, ALLOW_NC | ALLOW_RING} 561 ,{ jjWRONG2 , NOTEQUAL, 0, MODUL_CMD, IDEAL_CMD, ALLOW_NC | ALLOW_RING} 562 ,{D(jjEQUAL_R), NOTEQUAL, INT_CMD, RING_CMD, RING_CMD, ALLOW_NC | ALLOW_RING} 563 ,{D(jjDOTDOT), DOTDOT, INTVEC_CMD, INT_CMD, INT_CMD, ALLOW_NC | ALLOW_RING} 564 ,{D(jjINDEX_I), '[', INT_CMD, INTVEC_CMD, INT_CMD, ALLOW_NC | ALLOW_RING} 565 ,{D(jjINDEX_IV), '[', INT_CMD, INTVEC_CMD, INTVEC_CMD, ALLOW_NC | ALLOW_RING} 566 ,{D(jjINDEX_I), '[', POLY_CMD, IDEAL_CMD, INT_CMD, ALLOW_NC | ALLOW_RING} 567 ,{D(jjINDEX_I), '[', POLY_CMD, MAP_CMD, INT_CMD, ALLOW_NC | ALLOW_RING} 568 ,{D(jjINDEX_IV), '[', POLY_CMD, IDEAL_CMD, INTVEC_CMD, ALLOW_NC | ALLOW_RING} 569 ,{D(jjINDEX_I), '[', VECTOR_CMD, MODUL_CMD, INT_CMD, ALLOW_NC | ALLOW_RING} 570 ,{D(jjINDEX_IV), '[', VECTOR_CMD, MODUL_CMD, INTVEC_CMD, ALLOW_NC | ALLOW_RING} 571 ,{D(jjINDEX_I), '[', STRING_CMD, STRING_CMD, INT_CMD, ALLOW_NC | ALLOW_RING} 572 ,{D(jjINDEX_IV), '[', STRING_CMD, STRING_CMD, INTVEC_CMD, ALLOW_NC | ALLOW_RING} 573 ,{D(jjINDEX_I), '[', ANY_TYPE/*set by p*/,LIST_CMD, INT_CMD, ALLOW_NC | ALLOW_RING} 574 ,{D(jjINDEX_IV), '[', ANY_TYPE/*set by p*/,LIST_CMD, INTVEC_CMD, ALLOW_NC | ALLOW_RING} 575 ,{D(jjINDEX_P), '[', POLY_CMD, POLY_CMD, INT_CMD, ALLOW_NC | ALLOW_RING} 576 ,{D(jjINDEX_PBu), '[', POLY_CMD, BUCKET_CMD, INT_CMD, ALLOW_NC | ALLOW_RING} 577 ,{D(jjINDEX_P_IV),'[', POLY_CMD, POLY_CMD, INTVEC_CMD, ALLOW_NC | ALLOW_RING} 578 ,{D(jjINDEX_V), '[', POLY_CMD, VECTOR_CMD, INT_CMD, ALLOW_NC | ALLOW_RING} 579 ,{D(jjINDEX_V_IV),'[', VECTOR_CMD, VECTOR_CMD, INTVEC_CMD, ALLOW_NC | ALLOW_RING} 580 ,{D(jjRING_1), '[', RING_CMD, CRING_CMD, ANY_TYPE, ALLOW_NC | ALLOW_RING} 581 ,{D(jjPROC), '(', ANY_TYPE/*set by p*/,PROC_CMD, DEF_CMD, ALLOW_NC | ALLOW_RING} 582 ,{D(jjMAP), '(', ANY_TYPE/*set by p*/,MAP_CMD, DEF_CMD, ALLOW_NC | ALLOW_RING} 583 ,{D(jjLOAD2), '(', NONE, LIB_CMD, STRING_CMD, ALLOW_NC |ALLOW_RING} 584 ,{D(jjKLAMMER), '(', ANY_TYPE/*set by p*/,ANY_TYPE, INT_CMD, ALLOW_NC | ALLOW_RING} 585 ,{D(jjKLAMMER_IV),'(', ANY_TYPE/*set by p*/,ANY_TYPE, INTVEC_CMD, ALLOW_NC | ALLOW_RING} 586 ,{D(jjCOLON), ':', INTVEC_CMD, INT_CMD, INT_CMD, ALLOW_NC | ALLOW_RING} 587 // and the procedures with 2 arguments: 588 ,{D(jjALIGN_V), ALIGN_CMD, VECTOR_CMD, VECTOR_CMD, INT_CMD, ALLOW_NC | ALLOW_RING} 589 ,{D(jjALIGN_M), ALIGN_CMD, MODUL_CMD, MODUL_CMD, INT_CMD, ALLOW_NC | ALLOW_RING} 590 ,{D(atATTRIB2), ATTRIB_CMD, NONE/*set by p*/,DEF_CMD, STRING_CMD, ALLOW_NC | ALLOW_RING} 591 ,{D(jjBETTI2), BETTI_CMD, INTMAT_CMD, LIST_CMD, INT_CMD, ALLOW_PLURAL | ALLOW_RING} 592 ,{D(syBetti2), BETTI_CMD, INTMAT_CMD, RESOLUTION_CMD, INT_CMD, ALLOW_PLURAL | ALLOW_RING} 593 ,{D(jjBETTI2_ID), BETTI_CMD, INTMAT_CMD, IDEAL_CMD, INT_CMD, ALLOW_PLURAL | ALLOW_RING} 594 ,{D(jjBETTI2_ID), BETTI_CMD, INTMAT_CMD, MODUL_CMD, INT_CMD, ALLOW_PLURAL | ALLOW_RING} 595 #if defined(HAVE_PLURAL) || defined(HAVE_SHIFTBBA) 596 ,{D(jjBRACKET), BRACKET_CMD, POLY_CMD, POLY_CMD, POLY_CMD, ALLOW_NC | ALLOW_RING} 597 #endif 598 ,{D(jjCHINREM_BI),CHINREM_CMD, BIGINT_CMD, INTVEC_CMD, INTVEC_CMD, ALLOW_PLURAL |ALLOW_RING} 599 //,{D(jjCHINREM_P), CHINREM_CMD, POLY_CMD, LIST_CMD, INTVEC_CMD, ALLOW_PLURAL} 600 ,{D(jjCHINREM_ID),CHINREM_CMD, ANY_TYPE/*set by p*/,LIST_CMD,INTVEC_CMD, ALLOW_NC |ALLOW_RING} 601 ,{D(jjCHINREM_ID),CHINREM_CMD, ANY_TYPE/*set by p*/,LIST_CMD,LIST_CMD, ALLOW_NC |ALLOW_RING} 602 #ifdef SINGULAR_4_2 603 ,{D(jjNUMBER2CR), CNUMBER_CMD, CNUMBER_CMD, INT_CMD, CRING_CMD, ALLOW_NC |ALLOW_RING} 604 ,{D(jjNUMBER2CR), CNUMBER_CMD, CNUMBER_CMD, BIGINT_CMD, CRING_CMD, ALLOW_NC |ALLOW_RING} 605 ,{D(jjNUMBER2CR), CNUMBER_CMD, CNUMBER_CMD, NUMBER_CMD, CRING_CMD, ALLOW_NC |ALLOW_RING} 606 #endif 607 ,{D(jjCOEF), COEF_CMD, MATRIX_CMD, POLY_CMD, POLY_CMD, ALLOW_NC |ALLOW_RING} 608 ,{D(jjCOEF_Id), COEF_CMD, MATRIX_CMD, IDEAL_CMD, POLY_CMD, ALLOW_NC |ALLOW_RING} 609 ,{D(jjCOEFFS_Id), COEFFS_CMD, MATRIX_CMD, IDEAL_CMD, POLY_CMD, ALLOW_NC |ALLOW_RING} 610 ,{D(jjCOEFFS_Id), COEFFS_CMD, MATRIX_CMD, MODUL_CMD, POLY_CMD, ALLOW_NC |ALLOW_RING} 611 ,{D(jjCOEFFS2_KB),COEFFS_CMD, MATRIX_CMD, IDEAL_CMD, IDEAL_CMD, ALLOW_NC |ALLOW_RING} 612 ,{D(jjCOEFFS2_KB),COEFFS_CMD, MATRIX_CMD, MODUL_CMD, MODUL_CMD, ALLOW_NC |ALLOW_RING} 613 ,{D(jjCONTRACT), CONTRACT_CMD, MATRIX_CMD, IDEAL_CMD, IDEAL_CMD, ALLOW_PLURAL |ALLOW_RING} 614 ,{D(jjDEG_IV), DEG_CMD, INT_CMD, POLY_CMD, INTVEC_CMD, ALLOW_NC |ALLOW_RING} 615 ,{D(jjDEG_IV), DEG_CMD, INT_CMD, VECTOR_CMD, INTVEC_CMD, ALLOW_NC |ALLOW_RING} 616 ,{D(jjDEG_M_IV), DEG_CMD, INT_CMD, MATRIX_CMD, INTVEC_CMD, ALLOW_NC |ALLOW_RING} 617 ,{D(jjDelete_IV), DELETE_CMD, INTVEC_CMD, INTVEC_CMD, INT_CMD, ALLOW_NC |ALLOW_RING} 618 ,{D(jjDelete_ID), DELETE_CMD, IDEAL_CMD, IDEAL_CMD, INT_CMD, ALLOW_NC |ALLOW_RING} 619 ,{D(jjDelete_ID), DELETE_CMD, MODUL_CMD, MODUL_CMD, INT_CMD, ALLOW_NC |ALLOW_RING} 620 ,{D(lDelete), DELETE_CMD, LIST_CMD, LIST_CMD, INT_CMD, ALLOW_NC |ALLOW_RING} 621 ,{D(jjDET2_S), DET_CMD, POLY_CMD, SMATRIX_CMD,STRING_CMD, NO_NC |NO_RING} 622 ,{D(jjDET2), DET_CMD, POLY_CMD, MATRIX_CMD, STRING_CMD, NO_NC |ALLOW_RING} 623 ,{D(jjDIFF_P), DIFF_CMD, POLY_CMD, POLY_CMD, POLY_CMD, ALLOW_PLURAL |ALLOW_RING} 624 ,{D(jjDIFF_P), DIFF_CMD, VECTOR_CMD, VECTOR_CMD, POLY_CMD, ALLOW_PLURAL |ALLOW_RING} 625 ,{D(jjDIFF_ID), DIFF_CMD, IDEAL_CMD, IDEAL_CMD, POLY_CMD, ALLOW_PLURAL |ALLOW_RING} 626 ,{D(jjDIFF_ID_ID),DIFF_CMD, MATRIX_CMD, IDEAL_CMD, IDEAL_CMD, ALLOW_PLURAL |ALLOW_RING} 627 ,{D(jjDIFF_ID), DIFF_CMD, MODUL_CMD, MODUL_CMD, POLY_CMD, ALLOW_PLURAL |ALLOW_RING} 628 ,{D(jjDIFF_ID), DIFF_CMD, MATRIX_CMD, MATRIX_CMD, POLY_CMD, ALLOW_PLURAL |ALLOW_RING} 629 ,{D(jjDIFF_COEF), DIFF_CMD, NUMBER_CMD, NUMBER_CMD, NUMBER_CMD, ALLOW_PLURAL |ALLOW_RING} 630 ,{D(jjDIM2), DIM_CMD, INT_CMD, IDEAL_CMD, IDEAL_CMD, ALLOW_PLURAL |NO_RING} 631 ,{D(jjDIM2), DIM_CMD, INT_CMD, MODUL_CMD, IDEAL_CMD, ALLOW_PLURAL |NO_RING} 632 ,{D(jjDIVISION), DIVISION_CMD, LIST_CMD, IDEAL_CMD, IDEAL_CMD, ALLOW_PLURAL |ALLOW_RING} 633 ,{D(jjDIVISION), DIVISION_CMD, LIST_CMD, MODUL_CMD, MODUL_CMD, ALLOW_PLURAL |ALLOW_RING} 634 ,{D(jjELIMIN), ELIMINATION_CMD,IDEAL_CMD, IDEAL_CMD, POLY_CMD, ALLOW_PLURAL |ALLOW_RING} 635 ,{D(jjELIMIN), ELIMINATION_CMD,MODUL_CMD, MODUL_CMD, POLY_CMD, ALLOW_PLURAL |ALLOW_RING} 636 ,{D(jjELIMIN_IV), ELIMINATION_CMD,IDEAL_CMD, IDEAL_CMD, INTVEC_CMD, ALLOW_PLURAL |ALLOW_RING} 637 ,{D(jjELIMIN_IV), ELIMINATION_CMD,MODUL_CMD, MODUL_CMD, INTVEC_CMD, ALLOW_PLURAL |ALLOW_RING} 638 ,{D(jjEXPORTTO), EXPORTTO_CMD, NONE, PACKAGE_CMD, IDHDL, ALLOW_NC |ALLOW_RING} 639 ,{D(jjEXTGCD_I), EXTGCD_CMD, LIST_CMD, INT_CMD, INT_CMD, ALLOW_PLURAL |ALLOW_RING} 640 ,{D(jjEXTGCD_BI), EXTGCD_CMD, LIST_CMD, BIGINT_CMD, BIGINT_CMD, ALLOW_PLURAL |ALLOW_RING} 641 ,{D(jjEXTGCD_P), EXTGCD_CMD, LIST_CMD, POLY_CMD, POLY_CMD, NO_NC |NO_RING} 642 ,{D(jjFAC_P2), FAC_CMD, IDEAL_CMD, POLY_CMD, INT_CMD, NO_NC |NO_RING} 643 ,{D(jjFACSTD2), FACSTD_CMD, LIST_CMD, IDEAL_CMD, IDEAL_CMD, NO_NC |NO_RING} 644 ,{D(jjFAREY_BI), FAREY_CMD, NUMBER_CMD, BIGINT_CMD, BIGINT_CMD, ALLOW_PLURAL |NO_RING} 645 ,{D(jjFAREY_ID), FAREY_CMD, IDEAL_CMD, IDEAL_CMD, BIGINT_CMD, ALLOW_PLURAL |NO_RING} 646 ,{D(jjFAREY_ID), FAREY_CMD, MODUL_CMD, MODUL_CMD, BIGINT_CMD, ALLOW_PLURAL |NO_RING} 647 ,{D(jjFAREY_ID), FAREY_CMD, MATRIX_CMD, MATRIX_CMD, BIGINT_CMD, ALLOW_PLURAL |NO_RING} 648 ,{D(jjFAREY_LI), FAREY_CMD, LIST_CMD, LIST_CMD, BIGINT_CMD, ALLOW_PLURAL |NO_RING} 649 ,{D(jjFETCH), FETCH_CMD, ANY_TYPE/*set by p*/,RING_CMD, ANY_TYPE, ALLOW_NC |ALLOW_RING} 650 ,{D(fglmProc), FGLM_CMD, IDEAL_CMD, RING_CMD, DEF_CMD, NO_NC |NO_RING} 651 ,{D(fglmQuotProc),FGLMQUOT_CMD, IDEAL_CMD, IDEAL_CMD, POLY_CMD, NO_NC |NO_RING} 652 ,{D(jjFIND2), FIND_CMD, INT_CMD, STRING_CMD, STRING_CMD, ALLOW_NC |ALLOW_RING} 653 ,{D(jjFRES), FRES_CMD, RESOLUTION_CMD, IDEAL_CMD, INT_CMD, NO_NC |NO_RING} 654 ,{D(jjFRES), FRES_CMD, RESOLUTION_CMD, MODUL_CMD, INT_CMD, NO_NC |NO_RING} 655 ,{D(jjFWALK), FWALK_CMD, IDEAL_CMD, RING_CMD, DEF_CMD, NO_NC |NO_RING} 656 ,{D(jjGCD_I), GCD_CMD, INT_CMD, INT_CMD, INT_CMD, ALLOW_PLURAL |ALLOW_RING} 657 ,{D(jjGCD_N), GCD_CMD, NUMBER_CMD, NUMBER_CMD, NUMBER_CMD, ALLOW_PLURAL |ALLOW_RING} 658 ,{D(jjGCD_BI), GCD_CMD, BIGINT_CMD, BIGINT_CMD, BIGINT_CMD, ALLOW_PLURAL |ALLOW_RING} 659 ,{D(jjGCD_P), GCD_CMD, POLY_CMD, POLY_CMD, POLY_CMD, NO_NC |ALLOW_RING} 660 ,{D(jjHILBERT2), HILBERT_CMD, INTVEC_CMD, IDEAL_CMD, INT_CMD, ALLOW_PLURAL | ALLOW_RING | NO_ZERODIVISOR} 661 ,{D(jjHILBERT2), HILBERT_CMD, INTVEC_CMD, MODUL_CMD, INT_CMD, ALLOW_PLURAL | ALLOW_RING | NO_ZERODIVISOR} 662 ,{D(jjHOMOG1_W), HOMOG_CMD, INT_CMD, IDEAL_CMD, INTVEC_CMD, ALLOW_PLURAL |ALLOW_RING} 663 ,{D(jjHOMOG1_W), HOMOG_CMD, INT_CMD, MODUL_CMD, INTVEC_CMD, ALLOW_PLURAL |ALLOW_RING} 664 ,{D(jjHOMOG_P), HOMOG_CMD, POLY_CMD, POLY_CMD, POLY_CMD, ALLOW_PLURAL |ALLOW_RING} 665 ,{D(jjHOMOG_P), HOMOG_CMD, VECTOR_CMD, VECTOR_CMD, POLY_CMD, ALLOW_PLURAL |ALLOW_RING} 666 ,{D(jjHOMOG_ID), HOMOG_CMD, IDEAL_CMD, IDEAL_CMD, POLY_CMD, ALLOW_PLURAL |ALLOW_RING} 667 ,{D(jjHOMOG_ID), HOMOG_CMD, MODUL_CMD, MODUL_CMD, POLY_CMD, ALLOW_PLURAL |ALLOW_RING} 668 ,{D(jjRES), HRES_CMD, RESOLUTION_CMD, IDEAL_CMD, INT_CMD, NO_NC |NO_RING} 669 ,{D(jjFETCH), IMAP_CMD, ANY_TYPE/*set by p*/,RING_CMD, ANY_TYPE, ALLOW_NC |ALLOW_RING} 670 ,{D(jjIMPORTFROM),IMPORTFROM_CMD, NONE, PACKAGE_CMD, ANY_TYPE, ALLOW_NC |ALLOW_RING} 671 ,{D(jjINDEPSET2), INDEPSET_CMD, LIST_CMD, IDEAL_CMD, INT_CMD, NO_NC |NO_RING} 672 ,{D(lInsert), INSERT_CMD, LIST_CMD, LIST_CMD, DEF_CMD, ALLOW_NC |ALLOW_RING} 673 ,{D(jjINTERPOLATION),INTERPOLATE_CMD,IDEAL_CMD, LIST_CMD, INTVEC_CMD, NO_NC |NO_RING} 674 ,{D(jjINTERSECT), INTERSECT_CMD, IDEAL_CMD, IDEAL_CMD, IDEAL_CMD, ALLOW_PLURAL |ALLOW_RING} 675 ,{D(jjINTERSECT), INTERSECT_CMD, MODUL_CMD, MODUL_CMD, MODUL_CMD, ALLOW_PLURAL |ALLOW_RING} 676 ,{D(jjJanetBasis2), JANET_CMD, IDEAL_CMD, IDEAL_CMD, INT_CMD, ALLOW_PLURAL |NO_RING} 677 ,{D(jjJET_P), JET_CMD, POLY_CMD, POLY_CMD, INT_CMD, ALLOW_PLURAL |ALLOW_RING} 678 ,{D(jjJET_ID), JET_CMD, IDEAL_CMD, IDEAL_CMD, INT_CMD, ALLOW_PLURAL |ALLOW_RING} 679 ,{D(jjJET_P), JET_CMD, VECTOR_CMD, VECTOR_CMD, INT_CMD, ALLOW_PLURAL |ALLOW_RING} 680 ,{D(jjJET_ID), JET_CMD, MODUL_CMD, MODUL_CMD, INT_CMD, ALLOW_PLURAL |ALLOW_RING} 681 ,{D(jjJET_ID), JET_CMD, MATRIX_CMD, MATRIX_CMD, INT_CMD, ALLOW_PLURAL |ALLOW_RING} 682 ,{D(jjKBASE2), KBASE_CMD, IDEAL_CMD, IDEAL_CMD, INT_CMD, ALLOW_PLURAL |ALLOW_RING |WARN_RING} /*ring-cf: warning at top level*/ 683 ,{D(jjKBASE2), KBASE_CMD, MODUL_CMD, MODUL_CMD, INT_CMD, ALLOW_PLURAL |ALLOW_RING |WARN_RING} /*ring-cf: warning at top level*/ 684 ,{D(jjKERNEL), KERNEL_CMD, IDEAL_CMD, RING_CMD, ANY_TYPE, ALLOW_PLURAL |ALLOW_RING} 685 ,{D(atKILLATTR2), KILLATTR_CMD, NONE, IDHDL, STRING_CMD, ALLOW_NC |ALLOW_RING} 686 ,{D(jjKoszul), KOSZUL_CMD, MATRIX_CMD, INT_CMD, INT_CMD, NO_NC |ALLOW_RING} 687 ,{D(jjKoszul_Id), KOSZUL_CMD, MATRIX_CMD, INT_CMD, IDEAL_CMD, NO_NC |ALLOW_RING} 688 ,{D(jjRES), KRES_CMD, RESOLUTION_CMD, IDEAL_CMD, INT_CMD, NO_NC |NO_RING} 689 ,{D(jjLIFT), LIFT_CMD, MATRIX_CMD, IDEAL_CMD, IDEAL_CMD, ALLOW_NC |ALLOW_RING} 690 ,{D(jjLIFT), LIFT_CMD, MATRIX_CMD, MODUL_CMD, MODUL_CMD, ALLOW_NC |ALLOW_RING} 691 ,{D(jjLIFTSTD), LIFTSTD_CMD, IDEAL_CMD, IDEAL_CMD, MATRIX_CMD, ALLOW_NC |ALLOW_RING} 692 ,{D(jjLIFTSTD), LIFTSTD_CMD, MODUL_CMD, MODUL_CMD, MATRIX_CMD, ALLOW_NC |ALLOW_RING} 693 ,{D(jjLOAD_E), LOAD_CMD, NONE, STRING_CMD, STRING_CMD, ALLOW_NC |ALLOW_RING} 694 ,{D(jjRES), LRES_CMD, RESOLUTION_CMD, IDEAL_CMD, INT_CMD, NO_NC |NO_RING} 695 ,{D(jjMODULO), MODULO_CMD, MODUL_CMD, IDEAL_CMD, IDEAL_CMD, ALLOW_NC |ALLOW_RING} 696 ,{D(jjMODULO), MODULO_CMD, MODUL_CMD, MODUL_CMD, MODUL_CMD, ALLOW_NC |ALLOW_RING} 697 ,{D(jjMONITOR2), MONITOR_CMD, NONE, LINK_CMD, STRING_CMD, ALLOW_NC |ALLOW_RING} 698 ,{D(nuMPResMat), MPRES_CMD, MODUL_CMD, IDEAL_CMD, INT_CMD, NO_NC |NO_RING} 699 ,{D(jjNEWSTRUCT2),NEWSTRUCT_CMD, NONE, STRING_CMD, STRING_CMD, ALLOW_NC |ALLOW_RING} 700 //,{D(jjRES), MRES_CMD, LIST_CMD, IDEAL_CMD, INT_CMD, NO_NC |ALLOW_RING} 701 //,{D(jjRES), MRES_CMD, LIST_CMD, MODUL_CMD, INT_CMD, NO_NC |ALLOW_RING} 702 ,{D(jjRES), MRES_CMD, RESOLUTION_CMD, IDEAL_CMD, INT_CMD, ALLOW_PLURAL |ALLOW_RING} 703 ,{D(jjRES), MRES_CMD, RESOLUTION_CMD, MODUL_CMD, INT_CMD, ALLOW_PLURAL |ALLOW_RING} 704 #ifdef SINGULAR_4_2 705 ,{D(jjNUMBER2CR), CNUMBER_CMD, CNUMBER_CMD, INT_CMD, CRING_CMD, ALLOW_NC |ALLOW_RING} 706 ,{D(jjNUMBER2CR), CNUMBER_CMD, CNUMBER_CMD, BIGINT_CMD, CRING_CMD, ALLOW_NC |ALLOW_RING} 707 ,{D(jjNUMBER2CR), CNUMBER_CMD, CNUMBER_CMD, NUMBER_CMD, CRING_CMD, ALLOW_NC |ALLOW_RING} 708 ,{D(jjNUMBER2CR), CNUMBER_CMD, CNUMBER_CMD, CNUMBER_CMD,CRING_CMD, ALLOW_NC |ALLOW_RING} 709 #endif 710 ,{D(jjPFAC2), PFAC_CMD, LIST_CMD, BIGINT_CMD, INT_CMD, ALLOW_NC |ALLOW_RING} 711 ,{D(jjPFAC2), PFAC_CMD, LIST_CMD, NUMBER_CMD, INT_CMD, ALLOW_NC |ALLOW_RING} 712 #ifdef HAVE_PLURAL 713 ,{D(jjPlural_num_poly), NCALGEBRA_CMD,NONE, POLY_CMD, POLY_CMD , NO_NC |NO_RING} 714 ,{D(jjPlural_num_mat), NCALGEBRA_CMD,NONE, POLY_CMD, MATRIX_CMD, NO_NC |NO_RING} 715 ,{D(jjPlural_mat_poly), NCALGEBRA_CMD,NONE, MATRIX_CMD, POLY_CMD , NO_NC |NO_RING} 716 ,{D(jjPlural_mat_mat), NCALGEBRA_CMD,NONE, MATRIX_CMD, MATRIX_CMD, NO_NC |NO_RING} 717 ,{D(jjPlural_num_poly), NC_ALGEBRA_CMD,RING_CMD, POLY_CMD, POLY_CMD , NO_NC |NO_RING} 718 ,{D(jjPlural_num_mat), NC_ALGEBRA_CMD,RING_CMD, POLY_CMD, MATRIX_CMD, NO_NC |NO_RING} 719 ,{D(jjPlural_mat_poly), NC_ALGEBRA_CMD,RING_CMD, MATRIX_CMD, POLY_CMD , NO_NC |NO_RING} 720 ,{D(jjPlural_mat_mat), NC_ALGEBRA_CMD,RING_CMD, MATRIX_CMD, MATRIX_CMD, NO_NC |NO_RING} 721 ,{D(jjOPPOSE), OPPOSE_CMD, ANY_TYPE/*set by p*/, RING_CMD, DEF_CMD, ALLOW_PLURAL |NO_RING} 722 #endif 723 ,{D(jjPARSTR2), PARSTR_CMD, STRING_CMD, RING_CMD, INT_CMD, ALLOW_NC |ALLOW_RING} 724 ,{D(jjPRINT_FORMAT), PRINT_CMD, STRING_CMD, DEF_CMD, STRING_CMD, ALLOW_NC |ALLOW_RING} 725 ,{D(jjQUOT), QUOTIENT_CMD, IDEAL_CMD, IDEAL_CMD, IDEAL_CMD, ALLOW_PLURAL |ALLOW_RING} 726 ,{D(jjQUOT), QUOTIENT_CMD, MODUL_CMD, MODUL_CMD, IDEAL_CMD, ALLOW_PLURAL |ALLOW_RING} 727 ,{D(jjQUOT), QUOTIENT_CMD, IDEAL_CMD, MODUL_CMD, MODUL_CMD, ALLOW_PLURAL |ALLOW_RING} 728 ,{D(jjRANDOM), RANDOM_CMD, INT_CMD, INT_CMD, INT_CMD, ALLOW_NC |ALLOW_RING} 729 ,{D(jjRANK2), RANK_CMD, INT_CMD, MATRIX_CMD, INT_CMD, ALLOW_NC |NO_RING} 730 ,{D(jjREAD2), READ_CMD, STRING_CMD, LINK_CMD, STRING_CMD, ALLOW_NC |ALLOW_RING} 731 ,{D(jjREDUCE_P), REDUCE_CMD, POLY_CMD, POLY_CMD, IDEAL_CMD, ALLOW_NC |ALLOW_RING} 732 ,{D(jjREDUCE_P), REDUCE_CMD, VECTOR_CMD, VECTOR_CMD, IDEAL_CMD, ALLOW_NC |ALLOW_RING} 733 ,{D(jjREDUCE_P), REDUCE_CMD, VECTOR_CMD, VECTOR_CMD, MODUL_CMD, ALLOW_NC |ALLOW_RING} 734 ,{D(jjREDUCE_ID), REDUCE_CMD, IDEAL_CMD, IDEAL_CMD, IDEAL_CMD, ALLOW_NC |ALLOW_RING} 735 ,{D(jjREDUCE_ID), REDUCE_CMD, MODUL_CMD, MODUL_CMD, IDEAL_CMD, ALLOW_NC |ALLOW_RING} 736 ,{D(jjREDUCE_ID), REDUCE_CMD, MODUL_CMD, MODUL_CMD, MODUL_CMD, ALLOW_NC |ALLOW_RING} 737 ,{D(jjRES), RES_CMD, RESOLUTION_CMD, IDEAL_CMD, INT_CMD, ALLOW_PLURAL |ALLOW_RING} 738 ,{D(jjRES), RES_CMD, RESOLUTION_CMD, MODUL_CMD, INT_CMD, ALLOW_PLURAL |ALLOW_RING} 739 ,{D(jjSBA_1), SBA_CMD, IDEAL_CMD, IDEAL_CMD, INT_CMD, ALLOW_PLURAL |ALLOW_RING} 740 ,{D(jjSBA_1), SBA_CMD, MODUL_CMD, MODUL_CMD, INT_CMD, ALLOW_PLURAL |ALLOW_RING} 741 ,{D(jjSIMPL_P), SIMPLIFY_CMD, POLY_CMD, POLY_CMD, INT_CMD, ALLOW_NC |ALLOW_RING} 742 ,{D(jjSIMPL_P), SIMPLIFY_CMD, VECTOR_CMD, VECTOR_CMD, INT_CMD, ALLOW_NC |ALLOW_RING} 743 ,{D(jjSIMPL_ID), SIMPLIFY_CMD, IDEAL_CMD, IDEAL_CMD, INT_CMD, ALLOW_NC |ALLOW_RING} 744 ,{D(jjSIMPL_ID), SIMPLIFY_CMD, MODUL_CMD, MODUL_CMD, INT_CMD, ALLOW_NC |ALLOW_RING} 745 ,{D(jjSQR_FREE2), SQR_FREE_CMD, IDEAL_CMD, POLY_CMD, INT_CMD, NO_NC |ALLOW_RING} 746 ,{D(jjSTATUS2), STATUS_CMD, STRING_CMD, LINK_CMD, STRING_CMD, ALLOW_NC |ALLOW_RING} 747 ,{D(jjSTATUS2L), STATUS_CMD, INT_CMD, LIST_CMD, INT_CMD, ALLOW_NC |ALLOW_RING} 748 //,{D(jjRES), SRES_CMD, LIST_CMD, IDEAL_CMD, INT_CMD, NO_NC |ALLOW_RING} 749 //,{D(jjRES), SRES_CMD, LIST_CMD, MODUL_CMD, INT_CMD, NO_NC |ALLOW_RING} 750 ,{D(jjRES), SRES_CMD, RESOLUTION_CMD, IDEAL_CMD, INT_CMD, NO_NC |ALLOW_RING} 751 ,{D(jjRES), SRES_CMD, RESOLUTION_CMD, MODUL_CMD, INT_CMD, NO_NC |ALLOW_RING} 752 ,{D(jjSTD_1), STD_CMD, IDEAL_CMD, IDEAL_CMD, POLY_CMD, ALLOW_PLURAL |ALLOW_RING} 753 ,{D(jjSTD_1), STD_CMD, MODUL_CMD, MODUL_CMD, VECTOR_CMD, ALLOW_PLURAL |ALLOW_RING} 754 ,{D(jjSTD_1), STD_CMD, IDEAL_CMD, IDEAL_CMD, IDEAL_CMD, ALLOW_PLURAL |ALLOW_RING} 755 ,{D(jjSTD_1), STD_CMD, MODUL_CMD, MODUL_CMD, MODUL_CMD, ALLOW_PLURAL |ALLOW_RING} 756 ,{D(jjSTD_HILB), STD_CMD, IDEAL_CMD, IDEAL_CMD, INTVEC_CMD, ALLOW_PLURAL |NO_RING} 757 ,{D(jjSTD_HILB), STD_CMD, MODUL_CMD, MODUL_CMD, INTVEC_CMD, ALLOW_PLURAL |NO_RING} 758 ,{D(jjSYZ_2), SYZYGY_CMD, MODUL_CMD, IDEAL_CMD, STRING_CMD, ALLOW_PLURAL |ALLOW_RING} 759 ,{D(jjSYZ_2), SYZYGY_CMD, MODUL_CMD, MODUL_CMD, STRING_CMD, ALLOW_PLURAL |ALLOW_RING} 760 ,{D(jjTENSOR_Ma), TENSOR_CMD, MATRIX_CMD, MATRIX_CMD, MATRIX_CMD, ALLOW_PLURAL |ALLOW_RING} 761 ,{D(jjTENSOR), TENSOR_CMD, MODUL_CMD, MODUL_CMD, MODUL_CMD, ALLOW_PLURAL |ALLOW_RING|NO_CONVERSION} 762 ,{D(jjTENSOR), TENSOR_CMD, SMATRIX_CMD, SMATRIX_CMD,SMATRIX_CMD, ALLOW_PLURAL |ALLOW_RING|NO_CONVERSION} 763 ,{D(jjVARSTR2), VARSTR_CMD, STRING_CMD, RING_CMD, INT_CMD, ALLOW_NC |ALLOW_RING} 764 ,{D(jjWAIT1ST2), WAIT1ST_CMD, INT_CMD, LIST_CMD, INT_CMD, ALLOW_NC |ALLOW_RING} 765 ,{D(jjWAITALL2), WAITALL_CMD, INT_CMD, LIST_CMD, INT_CMD, ALLOW_NC |ALLOW_RING} 766 ,{D(jjWEDGE), WEDGE_CMD, MATRIX_CMD, MATRIX_CMD, INT_CMD, NO_NC |ALLOW_RING} 767 ,{NULL_VAL, 0, 0, 0, 0, NO_NC |NO_RING} 768 }; 769 /*=================== operations with 3 args.: table =================*/ 770 const struct sValCmd3 dArith3[]= 771 { 772 // operations: 773 // proc cmd res arg1 arg2 arg3 context 774 {D(jjBRACK_S), '[', STRING_CMD, STRING_CMD, INT_CMD, INT_CMD, ALLOW_NC |ALLOW_RING} 775 ,{D(jjBRACK_Im), '[', INT_CMD, INTMAT_CMD, INT_CMD, INT_CMD, ALLOW_NC |ALLOW_RING} 776 ,{D(jjBRACK_Bim), '[', BIGINT_CMD, BIGINTMAT_CMD, INT_CMD, INT_CMD, ALLOW_NC |ALLOW_RING} 777 ,{D(jjBRACK_Ma_I_IV), '[', INT_CMD, INTMAT_CMD, INT_CMD, INTVEC_CMD, ALLOW_NC |ALLOW_RING} 778 ,{D(jjBRACK_Ma_I_IV), '[', BIGINT_CMD, BIGINTMAT_CMD, INT_CMD, INTVEC_CMD, ALLOW_NC |ALLOW_RING} 779 ,{D(jjBRACK_Ma_IV_I), '[', INT_CMD, INTMAT_CMD, INTVEC_CMD, INT_CMD, ALLOW_NC |ALLOW_RING} 780 ,{D(jjBRACK_Ma_IV_I), '[', BIGINT_CMD, BIGINTMAT_CMD, INTVEC_CMD, INT_CMD, ALLOW_NC |ALLOW_RING} 781 ,{D(jjBRACK_Ma_IV_IV), '[', INT_CMD, INTMAT_CMD, INTVEC_CMD, INTVEC_CMD, ALLOW_NC |ALLOW_RING} 782 ,{D(jjBRACK_Ma_IV_IV), '[', BIGINT_CMD, BIGINTMAT_CMD, INTVEC_CMD, INTVEC_CMD, ALLOW_NC |ALLOW_RING} 783 ,{D(jjBRACK_Ma), '[', POLY_CMD, MATRIX_CMD, INT_CMD, INT_CMD, ALLOW_NC |ALLOW_RING} 784 ,{D(jjBRACK_SM), '[', POLY_CMD, SMATRIX_CMD, INT_CMD, INT_CMD, ALLOW_NC |ALLOW_RING} 785 ,{D(jjBRACK_Ma_I_IV), '[', POLY_CMD, MATRIX_CMD, INT_CMD, INTVEC_CMD, ALLOW_NC |ALLOW_RING} 786 ,{D(jjBRACK_Ma_IV_I), '[', POLY_CMD, MATRIX_CMD, INTVEC_CMD, INT_CMD, ALLOW_NC |ALLOW_RING} 787 ,{D(jjBRACK_Ma_IV_IV), '[', POLY_CMD, MATRIX_CMD, INTVEC_CMD, INTVEC_CMD, ALLOW_NC |ALLOW_RING} 788 ,{D(jjRING_2), '[', RING_CMD, CRING_CMD, ANY_TYPE, ANY_TYPE, ALLOW_NC |ALLOW_RING} 789 #ifdef SINGULAR_4_2 790 ,{D(jjBRACK_Bim), '[', CNUMBER_CMD, CMATRIX_CMD, INT_CMD, INT_CMD, ALLOW_NC |ALLOW_RING} 791 #endif 792 ,{D(jjPROC3), '(', ANY_TYPE, PROC_CMD, DEF_CMD, DEF_CMD, ALLOW_NC |ALLOW_RING} 793 ,{D(atATTRIB3), ATTRIB_CMD, NONE, IDHDL, STRING_CMD, DEF_CMD, ALLOW_NC |ALLOW_RING} 794 ,{D(jjBAREISS3), BAREISS_CMD,LIST_CMD, MODUL_CMD, INT_CMD, INT_CMD, NO_NC |ALLOW_RING|NO_ZERODIVISOR} 795 #if defined(HAVE_SHIFTBBA) || defined(HAVE_PLURAL) 796 ,{D(jjBRACKET_REC), BRACKET_CMD,POLY_CMD, POLY_CMD, POLY_CMD, INT_CMD, ALLOW_NC | ALLOW_RING} 797 #endif 798 ,{D(jjCOEFFS3_P), COEFFS_CMD, MATRIX_CMD, POLY_CMD, POLY_CMD, MATRIX_CMD, ALLOW_PLURAL |ALLOW_RING} 799 ,{D(jjCOEFFS3_P), COEFFS_CMD, MATRIX_CMD, VECTOR_CMD, POLY_CMD, MATRIX_CMD, ALLOW_PLURAL |ALLOW_RING} 800 ,{D(jjCOEFFS3_Id), COEFFS_CMD, MATRIX_CMD, IDEAL_CMD, POLY_CMD, MATRIX_CMD, ALLOW_PLURAL |ALLOW_RING} 801 ,{D(jjCOEFFS3_Id), COEFFS_CMD, MATRIX_CMD, MODUL_CMD, POLY_CMD, MATRIX_CMD, ALLOW_PLURAL |ALLOW_RING} 802 ,{D(jjCOEFFS3_KB), COEFFS_CMD, MATRIX_CMD, IDEAL_CMD, IDEAL_CMD, POLY_CMD, ALLOW_PLURAL |ALLOW_RING} 803 ,{D(jjCOEFFS3_KB), COEFFS_CMD, MATRIX_CMD, MODUL_CMD, MODUL_CMD, POLY_CMD, ALLOW_PLURAL |ALLOW_RING} 804 #ifdef SINGULAR_4_2 805 ,{D(jjCMATRIX_3), CMATRIX_CMD, CMATRIX_CMD,INT_CMD, INT_CMD, CRING_CMD, ALLOW_PLURAL |ALLOW_RING} 806 #endif 807 ,{D(jjELIMIN_HILB), ELIMINATION_CMD,IDEAL_CMD, IDEAL_CMD, POLY_CMD, INTVEC_CMD, NO_NC |ALLOW_RING} 808 ,{D(jjELIMIN_HILB), ELIMINATION_CMD,MODUL_CMD, MODUL_CMD, POLY_CMD, INTVEC_CMD, NO_NC |ALLOW_RING} 809 ,{D(jjELIMIN_ALG), ELIMINATION_CMD,IDEAL_CMD, IDEAL_CMD, POLY_CMD, STRING_CMD, ALLOW_PLURAL |ALLOW_RING} 810 ,{D(jjELIMIN_ALG), ELIMINATION_CMD,MODUL_CMD, MODUL_CMD, POLY_CMD, STRING_CMD, ALLOW_PLURAL |ALLOW_RING} 811 ,{D(jjFIND3), FIND_CMD, INT_CMD, STRING_CMD, STRING_CMD, INT_CMD, ALLOW_NC |ALLOW_RING} 812 ,{D(jjFRES3), FRES_CMD, RESOLUTION_CMD, IDEAL_CMD, INT_CMD, STRING_CMD, NO_NC |NO_RING} 813 ,{D(jjFRES3), FRES_CMD, RESOLUTION_CMD, MODUL_CMD, INT_CMD, STRING_CMD, NO_NC |NO_RING} 814 ,{D(jjFWALK3), FWALK_CMD, IDEAL_CMD, RING_CMD, DEF_CMD, INT_CMD, NO_NC |ALLOW_RING} 815 ,{D(jjHILBERT3), HILBERT_CMD,INTVEC_CMD, IDEAL_CMD, INT_CMD, INTVEC_CMD, ALLOW_PLURAL | ALLOW_RING | NO_ZERODIVISOR} 816 ,{D(jjHILBERT3), HILBERT_CMD,INTVEC_CMD, MODUL_CMD, INT_CMD, INTVEC_CMD, ALLOW_PLURAL | ALLOW_RING | NO_ZERODIVISOR} 817 ,{D(jjHOMOG_P_W), HOMOG_CMD, POLY_CMD, POLY_CMD, POLY_CMD, INTVEC_CMD, ALLOW_PLURAL |ALLOW_RING} 818 ,{D(jjHOMOG_P_W), HOMOG_CMD, VECTOR_CMD, VECTOR_CMD, POLY_CMD, INTVEC_CMD, ALLOW_PLURAL |ALLOW_RING} 819 ,{D(jjHOMOG_ID_W), HOMOG_CMD, IDEAL_CMD, IDEAL_CMD, POLY_CMD, INTVEC_CMD, ALLOW_PLURAL |ALLOW_RING} 820 ,{D(jjHOMOG_ID_W), HOMOG_CMD, MODUL_CMD, MODUL_CMD, POLY_CMD, INTVEC_CMD, ALLOW_PLURAL |ALLOW_RING} 821 ,{D(lInsert3), INSERT_CMD, LIST_CMD, LIST_CMD, DEF_CMD, INT_CMD, ALLOW_NC |ALLOW_RING} 822 ,{D(jjINTERSEC3S), INTERSECT_CMD,IDEAL_CMD,IDEAL_CMD, IDEAL_CMD, STRING_CMD, ALLOW_PLURAL |ALLOW_RING} 823 ,{D(jjINTERSEC3S), INTERSECT_CMD,MODUL_CMD,MODUL_CMD, MODUL_CMD, STRING_CMD, ALLOW_PLURAL |ALLOW_RING} 824 ,{D(jjINTERSECT3), INTERSECT_CMD,IDEAL_CMD,IDEAL_CMD, IDEAL_CMD, IDEAL_CMD, ALLOW_PLURAL |ALLOW_RING} 825 ,{D(jjINTERSECT3), INTERSECT_CMD,MODUL_CMD,MODUL_CMD, MODUL_CMD, MODUL_CMD, ALLOW_PLURAL |ALLOW_RING} 826 ,{D(jjINTMAT3), INTMAT_CMD, INTMAT_CMD, INTMAT_CMD, INT_CMD, INT_CMD, ALLOW_NC |ALLOW_RING} 827 ,{D(jjJET_P_IV), JET_CMD, POLY_CMD, POLY_CMD, INT_CMD, INTVEC_CMD, ALLOW_PLURAL } 828 ,{D(jjJET_ID_IV), JET_CMD, IDEAL_CMD, IDEAL_CMD, INT_CMD, INTVEC_CMD, ALLOW_PLURAL } 829 ,{D(jjJET_P_IV), JET_CMD, VECTOR_CMD, VECTOR_CMD, INT_CMD, INTVEC_CMD, ALLOW_PLURAL } 830 ,{D(jjJET_ID_IV), JET_CMD, MODUL_CMD, MODUL_CMD, INT_CMD, INTVEC_CMD, ALLOW_PLURAL } 831 ,{D(jjJET_P_P), JET_CMD, POLY_CMD, POLY_CMD, POLY_CMD, INT_CMD, ALLOW_PLURAL } 832 ,{D(jjJET_P_P), JET_CMD, VECTOR_CMD, VECTOR_CMD, POLY_CMD, INT_CMD, ALLOW_PLURAL } 833 ,{D(jjJET_ID_M), JET_CMD, IDEAL_CMD, IDEAL_CMD, MATRIX_CMD, INT_CMD, ALLOW_PLURAL } 834 ,{D(jjJET_ID_M), JET_CMD, MODUL_CMD, MODUL_CMD, MATRIX_CMD, INT_CMD, ALLOW_PLURAL } 835 ,{ jjWRONG3 , JET_CMD, POLY_CMD, POLY_CMD, INT_CMD, INT_CMD, ALLOW_PLURAL } 836 ,{D(mpKoszul), KOSZUL_CMD, MATRIX_CMD, INT_CMD, INT_CMD, IDEAL_CMD, NO_NC |NO_RING} 837 ,{D(jjLIFT3), LIFT_CMD, MATRIX_CMD, IDEAL_CMD, IDEAL_CMD, MATRIX_CMD, ALLOW_NC |ALLOW_RING} 838 ,{D(jjLIFT3), LIFT_CMD, MATRIX_CMD, MODUL_CMD, MODUL_CMD, MATRIX_CMD, ALLOW_NC |ALLOW_RING} 839 ,{D(jjLIFTSTD_SYZ), LIFTSTD_CMD,IDEAL_CMD, IDEAL_CMD, MATRIX_CMD, MODUL_CMD, ALLOW_NC |ALLOW_RING} 840 ,{D(jjLIFTSTD_SYZ), LIFTSTD_CMD,MODUL_CMD, MODUL_CMD, MATRIX_CMD, MODUL_CMD, ALLOW_NC |ALLOW_RING} 841 ,{D(jjLIFTSTD_ALG), LIFTSTD_CMD,IDEAL_CMD, IDEAL_CMD, MATRIX_CMD, STRING_CMD, ALLOW_NC |ALLOW_RING} 842 ,{D(jjLIFTSTD_ALG), LIFTSTD_CMD,MODUL_CMD, MODUL_CMD, MATRIX_CMD, STRING_CMD, ALLOW_NC |ALLOW_RING} 843 ,{D(jjMATRIX_Id), MATRIX_CMD, MATRIX_CMD, IDEAL_CMD, INT_CMD, INT_CMD, ALLOW_NC |ALLOW_RING} 844 ,{D(jjMATRIX_Mo), MATRIX_CMD, MATRIX_CMD, MODUL_CMD, INT_CMD, INT_CMD, ALLOW_NC |ALLOW_RING} 845 ,{D(jjMATRIX_Ma), MATRIX_CMD, MATRIX_CMD, MATRIX_CMD, INT_CMD, INT_CMD, ALLOW_NC |ALLOW_RING} 846 ,{D(jjMODULO3), MODULO_CMD, MODUL_CMD, IDEAL_CMD, IDEAL_CMD, MATRIX_CMD, ALLOW_NC |ALLOW_RING} 847 ,{D(jjMODULO3S), MODULO_CMD, MODUL_CMD, IDEAL_CMD, IDEAL_CMD, STRING_CMD, ALLOW_NC |ALLOW_RING} 848 ,{D(jjMODULO3), MODULO_CMD, MODUL_CMD, MODUL_CMD, MODUL_CMD, MATRIX_CMD, ALLOW_NC |ALLOW_RING} 849 ,{D(jjMODULO3S), MODULO_CMD, MODUL_CMD, MODUL_CMD, MODUL_CMD, STRING_CMD, ALLOW_NC |ALLOW_RING} 850 ,{D(jjSMATRIX_Mo), SMATRIX_CMD,SMATRIX_CMD,MODUL_CMD, INT_CMD, INT_CMD, ALLOW_NC |ALLOW_RING} 851 ,{D(jjSMATRIX_Mo), SMATRIX_CMD,SMATRIX_CMD,SMATRIX_CMD,INT_CMD, INT_CMD, ALLOW_NC |ALLOW_RING} 852 #ifdef OLD_RES 853 ,{D(jjRES3), MRES_CMD, NONE, IDEAL_CMD, INT_CMD, ANY_TYPE, ALLOW_PLURAL |ALLOW_RING} 854 ,{D(jjRES3), MRES_CMD, NONE, MODUL_CMD, INT_CMD, ANY_TYPE, ALLOW_PLURAL |ALLOW_RING} 855 #endif 856 ,{D(jjNEWSTRUCT3), NEWSTRUCT_CMD, NONE, STRING_CMD, STRING_CMD, STRING_CMD, ALLOW_NC |ALLOW_RING} 857 ,{D(jjPREIMAGE), PREIMAGE_CMD, IDEAL_CMD, RING_CMD, ANY_TYPE, ANY_TYPE, ALLOW_PLURAL |ALLOW_RING} 858 ,{D(jjRANDOM_Im), RANDOM_CMD, INTMAT_CMD, INT_CMD, INT_CMD, INT_CMD, ALLOW_NC |ALLOW_RING} 859 #ifdef SINGULAR_4_2 860 ,{D(jjRANDOM_CF), RANDOM_CMD, CNUMBER_CMD, CNUMBER_CMD, CNUMBER_CMD, CRING_CMD, ALLOW_NC |ALLOW_RING} 861 #endif 862 ,{D(jjREDUCE3_P), REDUCE_CMD, POLY_CMD, POLY_CMD, IDEAL_CMD, INT_CMD, ALLOW_NC |ALLOW_RING} 863 ,{D(jjREDUCE3_P), REDUCE_CMD, VECTOR_CMD, VECTOR_CMD, IDEAL_CMD, INT_CMD, ALLOW_NC |ALLOW_RING} 864 ,{D(jjREDUCE3_P), REDUCE_CMD, VECTOR_CMD, VECTOR_CMD, MODUL_CMD, INT_CMD, ALLOW_NC |ALLOW_RING} 865 ,{D(jjREDUCE3_ID), REDUCE_CMD, IDEAL_CMD, IDEAL_CMD, IDEAL_CMD, INT_CMD, ALLOW_NC |ALLOW_RING} 866 ,{D(jjREDUCE3_ID), REDUCE_CMD, MODUL_CMD, MODUL_CMD, MODUL_CMD, INT_CMD, ALLOW_NC |ALLOW_RING} 867 ,{D(jjREDUCE3_ID), REDUCE_CMD, MODUL_CMD, MODUL_CMD, IDEAL_CMD, INT_CMD, ALLOW_NC |ALLOW_RING} 868 ,{D(jjREDUCE3_CP), REDUCE_CMD, POLY_CMD, POLY_CMD, POLY_CMD, IDEAL_CMD, ALLOW_PLURAL |ALLOW_RING} 869 ,{D(jjREDUCE3_CP), REDUCE_CMD, VECTOR_CMD, VECTOR_CMD, POLY_CMD, MODUL_CMD, ALLOW_PLURAL |ALLOW_RING} 870 ,{D(jjREDUCE3_CID), REDUCE_CMD, IDEAL_CMD, IDEAL_CMD, IDEAL_CMD, MATRIX_CMD, ALLOW_PLURAL |ALLOW_RING} 871 ,{D(jjREDUCE3_CID), REDUCE_CMD, MODUL_CMD, MODUL_CMD, MODUL_CMD, MATRIX_CMD, ALLOW_PLURAL |ALLOW_RING} 872 #ifdef OLD_RES 873 ,{D(jjRES3), RES_CMD, NONE, IDEAL_CMD, INT_CMD, ANY_TYPE, ALLOW_PLURAL |ALLOW_RING} 874 ,{D(jjRES3), RES_CMD, NONE, MODUL_CMD, INT_CMD, ANY_TYPE, ALLOW_PLURAL |ALLOW_RING} 875 #endif 876 ,{D(jjRESULTANT), RESULTANT_CMD, POLY_CMD,POLY_CMD, POLY_CMD, POLY_CMD, NO_NC |ALLOW_RING} 877 ,{D(jjRING3), RING_CMD, RING_CMD, DEF_CMD, DEF_CMD, DEF_CMD, ALLOW_PLURAL |ALLOW_RING} 878 #ifdef OLD_RES 879 ,{D(jjRES3), SRES_CMD, NONE, IDEAL_CMD, INT_CMD, ANY_TYPE, NO_NC |ALLOW_RING} 880 ,{D(jjRES3), SRES_CMD, NONE, MODUL_CMD, INT_CMD, ANY_TYPE, NO_NC |ALLOW_RING} 881 #endif 882 ,{D(jjSBA_2), SBA_CMD, IDEAL_CMD, IDEAL_CMD, INT_CMD, INT_CMD, ALLOW_PLURAL |ALLOW_RING} 883 ,{D(jjSBA_2), SBA_CMD, MODUL_CMD, MODUL_CMD, INT_CMD, INT_CMD, ALLOW_PLURAL |ALLOW_RING} 884 ,{D(jjSTATUS3), STATUS_CMD, INT_CMD, LINK_CMD, STRING_CMD, STRING_CMD, ALLOW_NC |ALLOW_RING} 885 ,{D(jjSTD_HILB_W), STD_CMD, IDEAL_CMD, IDEAL_CMD, INTVEC_CMD, INTVEC_CMD, ALLOW_PLURAL |NO_RING} 886 ,{D(jjSTD_HILB_W), STD_CMD, MODUL_CMD, MODUL_CMD, INTVEC_CMD, INTVEC_CMD, ALLOW_PLURAL |NO_RING} 887 ,{D(jjSUBST_Bu), SUBST_CMD, ANY_TYPE, DEF_CMD, POLY_CMD, BUCKET_CMD , ALLOW_NC |ALLOW_RING} 888 ,{D(jjSUBST_P), SUBST_CMD, POLY_CMD, POLY_CMD, POLY_CMD, POLY_CMD , ALLOW_NC |ALLOW_RING} 889 ,{D(jjSUBST_P), SUBST_CMD, VECTOR_CMD, VECTOR_CMD, POLY_CMD, POLY_CMD , ALLOW_NC |ALLOW_RING} 890 ,{D(jjSUBST_Id), SUBST_CMD, IDEAL_CMD, IDEAL_CMD, POLY_CMD, POLY_CMD , ALLOW_NC |ALLOW_RING} 891 ,{D(jjSUBST_Id), SUBST_CMD, MODUL_CMD, MODUL_CMD, POLY_CMD, POLY_CMD , ALLOW_NC |ALLOW_RING} 892 ,{D(jjSUBST_Id), SUBST_CMD, MATRIX_CMD, MATRIX_CMD, POLY_CMD, POLY_CMD , ALLOW_NC |ALLOW_RING} 893 ,{D(jjSUBST_Id_I), SUBST_CMD, MATRIX_CMD, MATRIX_CMD, POLY_CMD, INT_CMD , ALLOW_NC |ALLOW_RING} 894 ,{D(jjSUBST_Id_N), SUBST_CMD, MATRIX_CMD, MATRIX_CMD, POLY_CMD, NUMBER_CMD , ALLOW_NC |ALLOW_RING} 895 ,{D(nuLagSolve), LAGSOLVE_CMD,LIST_CMD, POLY_CMD, INT_CMD, INT_CMD , NO_NC |NO_RING} 896 ,{D(nuVanderSys), VANDER_CMD, POLY_CMD, IDEAL_CMD, IDEAL_CMD, INT_CMD , NO_NC |NO_RING} 897 ,{NULL_VAL, 0, 0, 0, 0, 0 , NO_NC |NO_RING} 898 }; 899 /*=================== operations with many arg.: table =================*/ 900 /* number_of_args: -1: any, -2: any >0, 1: 1, 2: 2, .. */ 901 const struct sValCmdM dArithM[]= 902 { 903 // operations: 904 // proc cmd res number_of_args context 905 {D(jjKLAMMER_PL), '(', ANY_TYPE, -2 , ALLOW_NC |ALLOW_RING} 906 ,{D(jjRING_PL), '[', RING_CMD, -2 , ALLOW_NC |ALLOW_RING} 907 ,{D(jjBREAK0), BREAKPOINT_CMD, NONE, 0 , ALLOW_NC |ALLOW_RING} 908 ,{D(jjBREAK1), BREAKPOINT_CMD, NONE, -2 , ALLOW_NC |ALLOW_RING} 909 ,{D(iiBranchTo), BRANCHTO_CMD, NONE, -2 , ALLOW_NC |ALLOW_RING} 910 #ifdef SINGULAR_4_2 911 ,{D(jjCALL3ARG), CMATRIX_CMD, CMATRIX_CMD, 3 , ALLOW_NC |ALLOW_RING} 912 ,{D(jjCALL2ARG), CNUMBER_CMD, CNUMBER_CMD, 2 , ALLOW_NC |ALLOW_RING} 913 #endif 914 ,{D(jjCALL2ARG), COEF_CMD, MATRIX_CMD, 2 , ALLOW_PLURAL |ALLOW_RING} 915 ,{D(jjCOEF_M), COEF_CMD, NONE, 4 , ALLOW_PLURAL |ALLOW_RING} 916 ,{D(jjCALL2ARG), DIVISION_CMD, LIST_CMD, 2 , ALLOW_PLURAL |ALLOW_RING} 917 ,{D(jjDIVISION4), DIVISION_CMD, LIST_CMD, 3 , NO_NC |NO_RING} 918 ,{D(jjDIVISION4), DIVISION_CMD, LIST_CMD, 4 , NO_NC |NO_RING} 919 ,{D(jjDBPRINT), DBPRINT_CMD, NONE, -2 , ALLOW_NC |ALLOW_RING} 920 //,{D(jjEXPORTTO_M), EXPORTTO_CMD, NONE, -2 , ALLOW_NC |ALLOW_RING} 921 ,{D(jjCALL2ARG), FETCH_CMD, ANY_TYPE/*or set by p*/,2 , ALLOW_NC |ALLOW_RING} 922 ,{D(jjFETCH_M), FETCH_CMD, ANY_TYPE/*or set by p*/,3 , ALLOW_PLURAL |ALLOW_RING} 923 ,{D(jjFETCH_M), FETCH_CMD, ANY_TYPE/*or set by p*/,4 , ALLOW_PLURAL |ALLOW_RING} 924 ,{D(jjCALL1ARG), IDEAL_CMD, IDEAL_CMD, 1 , ALLOW_NC |ALLOW_RING} 925 ,{D(jjIDEAL_PL), IDEAL_CMD, IDEAL_CMD, -1 , ALLOW_NC |ALLOW_RING} 926 ,{D(jjCALL2ARG), INTERSECT_CMD, IDEAL_CMD, 2 , ALLOW_PLURAL |ALLOW_RING} 927 ,{D(jjCALL3ARG), INTERSECT_CMD, IDEAL_CMD, 3 , ALLOW_PLURAL |ALLOW_RING} 928 ,{D(jjINTERSECT_PL),INTERSECT_CMD, IDEAL_CMD, -2 , ALLOW_PLURAL |ALLOW_RING} 929 ,{D(jjCALL1ARG), INTVEC_CMD, INTVEC_CMD, 1 , ALLOW_NC |ALLOW_RING} 930 ,{D(jjINTVEC_PL), INTVEC_CMD, INTVEC_CMD, -2 , ALLOW_NC |ALLOW_RING} 931 ,{D(jjCALL2ARG), JET_CMD, POLY_CMD,/*or set by p*/ 2 , ALLOW_PLURAL |ALLOW_RING} 932 ,{D(jjCALL3ARG), JET_CMD, POLY_CMD,/*or set by p*/ 3 , ALLOW_PLURAL |ALLOW_RING} 933 ,{D(jjJET4), JET_CMD, POLY_CMD,/*or set by p*/ 4 , ALLOW_PLURAL |ALLOW_RING} 934 ,{D(jjCALL1ARG), LIB_CMD, NONE, 1 , ALLOW_NC |ALLOW_RING} 935 ,{D(jjCALL2ARG), LIFT_CMD, MATRIX_CMD, 2 , ALLOW_NC |ALLOW_RING} 936 ,{D(jjCALL3ARG), LIFT_CMD, MATRIX_CMD, 3 , ALLOW_NC |ALLOW_RING} 937 ,{D(jjLIFT_4), LIFT_CMD, MATRIX_CMD, 4 , ALLOW_PLURAL |ALLOW_RING} 938 ,{D(jjCALL2ARG), LIFTSTD_CMD, IDEAL_CMD,/*or MODUL*/2 , ALLOW_NC |ALLOW_RING} 939 ,{D(jjCALL3ARG), LIFTSTD_CMD, IDEAL_CMD,/*or MODUL*/3 , ALLOW_NC |ALLOW_RING} 940 ,{D(jjLIFTSTD_M), LIFTSTD_CMD, IDEAL_CMD,/*or MODUL*/4 , ALLOW_NC |ALLOW_RING} 941 ,{D(jjLIFTSTD_M), LIFTSTD_CMD, IDEAL_CMD,/*or MODUL*/5 , ALLOW_NC |ALLOW_RING} 942 ,{D(jjLIST_PL), LIST_CMD, LIST_CMD, -1 , ALLOW_NC |ALLOW_RING} 943 ,{D(jjLU_INVERSE),LUI_CMD, LIST_CMD, -2 , NO_NC |NO_RING} 944 ,{D(jjLU_SOLVE), LUS_CMD, LIST_CMD, -2 , NO_NC |NO_RING} 945 ,{ jjWRONG , MINOR_CMD, NONE, 1 , ALLOW_PLURAL |ALLOW_RING} 946 ,{D(jjMINOR_M), MINOR_CMD, IDEAL_CMD, -2 , ALLOW_PLURAL |ALLOW_RING} 947 ,{D(jjCALL1ARG), MODUL_CMD, MODUL_CMD, 1 , ALLOW_NC |ALLOW_RING} 948 ,{D(jjIDEAL_PL), MODUL_CMD, MODUL_CMD, -1 , ALLOW_NC |ALLOW_RING} 949 ,{D(jjCALL2ARG), MODULO_CMD, MODUL_CMD, 2 , ALLOW_NC |ALLOW_RING} 950 ,{D(jjCALL3ARG), MODULO_CMD, MODUL_CMD, 3 , ALLOW_NC |ALLOW_RING} 951 ,{D(jjMODULO4), MODULO_CMD, MODUL_CMD, 4 , ALLOW_NC |ALLOW_RING} 952 ,{D(jjCALL1ARG), NAMES_CMD, LIST_CMD, 1 , ALLOW_NC |ALLOW_RING} 953 ,{D(jjNAMES0), NAMES_CMD, LIST_CMD, 0 , ALLOW_NC |ALLOW_RING} 954 ,{D(jjCALL2ARG), CNUMBER_CMD, CNUMBER_CMD, 2 , ALLOW_NC |ALLOW_RING} 955 ,{D(jjOPTION_PL), OPTION_CMD, STRING_CMD/*or set by p*/,-1, ALLOW_NC |ALLOW_RING} 956 ,{D(jjCALL2ARG), REDUCE_CMD, IDEAL_CMD/*or set by p*/, 2, ALLOW_NC |ALLOW_RING} 957 ,{D(jjCALL3ARG), REDUCE_CMD, IDEAL_CMD/*or set by p*/, 3, ALLOW_NC |ALLOW_RING} 958 ,{D(jjREDUCE4), REDUCE_CMD, IDEAL_CMD/*or set by p*/, 4, ALLOW_PLURAL |ALLOW_RING} 959 ,{D(jjREDUCE5), REDUCE_CMD, IDEAL_CMD/*or set by p*/, 5, ALLOW_PLURAL |ALLOW_RING} 960 ,{D(jjCALL1ARG), RESERVEDNAME_CMD, INT_CMD, 1 , ALLOW_NC |ALLOW_RING} 961 ,{D(jjRESERVED0), RESERVEDNAME_CMD, NONE, 0 , ALLOW_NC |ALLOW_RING} 962 //,{D(jjCALL1ARG), RESERVEDNAMELIST_CMD, LIST_CMD, 1 , ALLOW_NC |ALLOW_RING} 963 ,{D(jjRESERVEDLIST0), RESERVEDNAMELIST_CMD, LIST_CMD, 0 , ALLOW_NC |ALLOW_RING} 964 ,{D(jjSTRING_PL), STRING_CMD, STRING_CMD, -1 , ALLOW_NC |ALLOW_RING} 965 ,{D(jjCALL3ARG), SUBST_CMD, NONE/*set by p*/, 3 , ALLOW_NC |ALLOW_RING} 966 ,{D(jjSUBST_M), SUBST_CMD, NONE/*set by p*/, -2 , ALLOW_NC |ALLOW_RING} 967 ,{D(jjSYSTEM), SYSTEM_CMD, NONE/*or set by p*/,-2 , ALLOW_NC |ALLOW_RING} 968 ,{D(jjTEST), TEST_CMD, NONE, -2 , ALLOW_NC |ALLOW_RING} 969 ,{D(iiWRITE), WRITE_CMD, NONE, -2 , ALLOW_NC |ALLOW_RING} 970 ,{D(jjCALL2ARG), STATUS_CMD, STRING_CMD, 2 , ALLOW_NC |ALLOW_RING} 971 ,{D(jjCALL3ARG), STATUS_CMD, INT_CMD, 3 , ALLOW_NC |ALLOW_RING} 972 ,{D(jjSTATUS_M), STATUS_CMD, INT_CMD, 4 , ALLOW_NC |ALLOW_RING} 973 ,{D(loSimplex), SIMPLEX_CMD, LIST_CMD, 6 , NO_NC |NO_RING} 974 ,{D(nuUResSolve), URSOLVE_CMD, LIST_CMD, 4 , NO_NC |NO_RING} 975 ,{D(jjCALL1ARG), STD_CMD, IDEAL_CMD/* or set by p*/,1 , ALLOW_NC |ALLOW_RING} 976 ,{D(jjCALL2ARG), STD_CMD, IDEAL_CMD, 2 , ALLOW_PLURAL |ALLOW_RING} 977 ,{D(jjCALL3ARG), STD_CMD, IDEAL_CMD, 3 , NO_NC |ALLOW_RING} 978 ,{D(jjSTD_HILB_WP), STD_CMD, IDEAL_CMD, 4 , NO_NC |NO_RING} 979 ,{D(jjQRDS), QRDS_CMD, LIST_CMD, 4 , ALLOW_PLURAL |ALLOW_RING} 980 ,{D(jjFactModD_M),FMD_CMD, LIST_CMD, -2 , NO_NC |NO_RING} 981 ,{NULL_VAL, 0, 0, 0 , NO_NC |NO_RING} 982 }; 983 #ifdef GENTABLE 984 // this table MUST be order alphabetically by its first entry: 985 // cannot be declared const because it will be sorted by qsort 986 VAR cmdnames cmds[] = 987 // alias: 0: real name, 1: this is an alias, 2: this is an outdated alias 988 { // name-string alias tokval toktype 989 { "$INVALID$", 0, -1, 0}, 990 { "ASSUME", 0, ASSUME_CMD, ASSUME_CMD}, 991 { "LIB", 0, LIB_CMD , SYSVAR}, 992 { "alias", 0, ALIAS_CMD , PARAMETER}, 993 { "align", 0, ALIGN_CMD , CMD_2}, 994 { "and", 0, '&' , LOGIC_OP}, 995 { "apply", 0, APPLY, APPLY}, 996 { "attrib", 0, ATTRIB_CMD , CMD_123}, 997 { "bareiss", 0, BAREISS_CMD , CMD_13}, 998 { "betti", 0, BETTI_CMD , CMD_12}, 999 { "bigint", 0, BIGINT_CMD , ROOT_DECL}, 1000 { "bigintmat", 0, BIGINTMAT_CMD , BIGINTMAT_CMD}, 1001 { "branchTo", 0, BRANCHTO_CMD , CMD_M}, 1002 #if defined(HAVE_SHIFTBBA) || defined(HAVE_PLURAL) 1003 { "bracket", 0, BRACKET_CMD , CMD_23}, 1004 #endif 1005 { "break", 0, BREAK_CMD , BREAK_CMD}, 1006 { "breakpoint", 0, BREAKPOINT_CMD , CMD_M}, 1007 { "char", 0, CHARACTERISTIC_CMD ,CMD_1}, 1008 { "char_series", 0, CHAR_SERIES_CMD , CMD_1}, 1009 { "charstr", 0, CHARSTR_CMD , CMD_1}, 1010 { "chinrem", 0, CHINREM_CMD , CMD_2}, 1011 { "cleardenom", 0, CONTENT_CMD , CMD_1}, 1012 { "close", 0, CLOSE_CMD , CMD_1}, 1013 #ifdef SINGULAR_4_2 1014 { "Matrix", 0, CMATRIX_CMD , ROOT_DECL_LIST}, 1015 { "Number", 0, CNUMBER_CMD , ROOT_DECL_LIST}, 1016 { "parent", 0, PARENT_CMD , CMD_1}, 1017 { "Poly", 0, CPOLY_CMD , ROOT_DECL_LIST}, 1018 #endif 1019 { "coef", 0, COEF_CMD , CMD_M}, 1020 { "coeffs", 0, COEFFS_CMD , CMD_23}, 1021 { "continue", 0, CONTINUE_CMD , CONTINUE_CMD}, 1022 { "contract", 0, CONTRACT_CMD , CMD_2}, 1023 { "convhull", 0, NEWTONPOLY_CMD, CMD_1}, 1024 { "cring", 0, CRING_CMD, ROOT_DECL}, 1025 { "dbprint", 0, DBPRINT_CMD , CMD_M}, 1026 { "def", 0, DEF_CMD , ROOT_DECL}, 1027 { "defined", 0, DEFINED_CMD , CMD_1}, 1028 { "deg", 0, DEG_CMD , CMD_12}, 1029 { "degree", 0, DEGREE_CMD , CMD_1}, 1030 { "delete", 0, DELETE_CMD , CMD_2}, 1031 { "denominator", 0, DENOMINATOR_CMD , CMD_1}, 1032 { "det", 0, DET_CMD , CMD_12}, 1033 { "diff", 0, DIFF_CMD , CMD_2}, 1034 { "dim", 0, DIM_CMD , CMD_12}, 1035 { "div", 0, INTDIV_CMD , MULDIV_OP}, 1036 { "division", 0, DIVISION_CMD , CMD_M}, 1037 { "dump", 0, DUMP_CMD, CMD_1}, 1038 { "extgcd", 0, EXTGCD_CMD , CMD_2}, 1039 { "ERROR", 0, ERROR_CMD , CMD_1}, 1040 { "eliminate", 0, ELIMINATION_CMD, CMD_23}, 1041 { "else", 0, ELSE_CMD , ELSE_CMD}, 1042 #ifdef HAVE_PLURAL 1043 { "envelope", 0, ENVELOPE_CMD , CMD_1}, 1044 #endif 1045 { "eval", 0, EVAL , EVAL}, 1046 { "example", 0, EXAMPLE_CMD , EXAMPLE_CMD}, 1047 { "execute", 0, EXECUTE_CMD , CMD_1}, 1048 { "export", 0, EXPORT_CMD , EXPORT_CMD}, 1049 { "exportto", 0, EXPORTTO_CMD , CMD_2}, 1050 { "facstd", 0, FACSTD_CMD , CMD_12}, 1051 { "factmodd", 0, FMD_CMD , CMD_M}, 1052 { "factorize", 0, FAC_CMD , CMD_12}, 1053 { "farey", 0, FAREY_CMD , CMD_2}, 1054 { "fetch", 0, FETCH_CMD , CMD_M}, 1055 { "fglm", 0, FGLM_CMD , CMD_2}, 1056 { "fglmquot", 0, FGLMQUOT_CMD, CMD_2}, 1057 { "find", 0, FIND_CMD , CMD_23}, 1058 { "finduni", 0, FINDUNI_CMD, CMD_1}, 1059 { "forif", 0, IF_CMD , IF_CMD}, 1060 { "freemodule", 0, FREEMODULE_CMD , CMD_1}, 1061 { "fres", 0, FRES_CMD , CMD_23}, 1062 { "frwalk", 0, FWALK_CMD , CMD_23}, 1063 { "gen", 0, E_CMD , CMD_1}, 1064 { "getdump", 0, GETDUMP_CMD, CMD_1}, 1065 { "gcd", 0, GCD_CMD , CMD_2}, 1066 { "GCD", 2, GCD_CMD , CMD_2}, 1067 { "hilb", 0, HILBERT_CMD , CMD_123}, 1068 { "highcorner", 0, HIGHCORNER_CMD, CMD_1}, 1069 { "homog", 0, HOMOG_CMD , CMD_123}, 1070 { "hres", 0, HRES_CMD , CMD_2}, 1071 { "ideal", 0, IDEAL_CMD , RING_DECL_LIST}, 1072 { "if", 0, IF_CMD , IF_CMD}, 1073 { "imap", 0, IMAP_CMD , CMD_2}, 1074 { "impart", 0, IMPART_CMD , CMD_1}, 1075 { "importfrom", 0, IMPORTFROM_CMD , CMD_2}, 1076 { "indepSet", 0, INDEPSET_CMD , CMD_12}, 1077 { "insert", 0, INSERT_CMD , CMD_23}, 1078 { "int", 0, INT_CMD , ROOT_DECL}, 1079 { "interpolation",0,INTERPOLATE_CMD , CMD_2}, 1080 { "interred", 0, INTERRED_CMD , CMD_1}, 1081 { "intersect", 0, INTERSECT_CMD , CMD_M}, 1082 { "intmat", 0, INTMAT_CMD , INTMAT_CMD}, 1083 { "intvec", 0, INTVEC_CMD , ROOT_DECL_LIST}, 1084 { "jacob", 0, JACOB_CMD , CMD_1}, 1085 { "janet", 0, JANET_CMD , CMD_12}, 1086 { "jet", 0, JET_CMD , CMD_M}, 1087 { "kbase", 0, KBASE_CMD , CMD_12}, 1088 { "keepring", 0, KEEPRING_CMD , KEEPRING_CMD}, 1089 { "kernel", 0, KERNEL_CMD , CMD_2}, 1090 { "kill", 0, KILL_CMD , KILL_CMD}, 1091 { "killattrib", 0, KILLATTR_CMD , CMD_12}, 1092 { "koszul", 0, KOSZUL_CMD , CMD_23}, 1093 { "kres", 0, KRES_CMD , CMD_2}, 1094 { "laguerre", 0, LAGSOLVE_CMD, CMD_13}, 1095 { "lead", 0, LEAD_CMD , CMD_1}, 1096 { "leadcoef", 0, LEADCOEF_CMD , CMD_1}, 1097 { "leadexp", 0, LEADEXP_CMD , CMD_1}, 1098 { "leadmonom", 0, LEADMONOM_CMD , CMD_1}, 1099 { "lift", 0, LIFT_CMD , CMD_M}, 1100 { "liftstd", 0, LIFTSTD_CMD , CMD_M}, 1101 { "link", 0, LINK_CMD , ROOT_DECL}, 1102 { "listvar", 0, LISTVAR_CMD , LISTVAR_CMD}, 1103 { "list", 0, LIST_CMD , ROOT_DECL_LIST}, 1104 { "load", 0, LOAD_CMD , CMD_12}, 1105 { "lres", 0, LRES_CMD , CMD_2}, 1106 { "ludecomp", 0, LU_CMD , CMD_1}, 1107 { "luinverse", 0, LUI_CMD , CMD_M}, 1108 { "lusolve", 0, LUS_CMD , CMD_M}, 1109 { "map", 0, MAP_CMD , RING_DECL}, 1110 { "matrix", 0, MATRIX_CMD , MATRIX_CMD}, 1111 { "maxideal", 0, MAXID_CMD , CMD_1}, 1112 { "memory", 0, MEMORY_CMD , CMD_1}, 1113 { "minbase", 0, MINBASE_CMD , CMD_1}, 1114 { "minor", 0, MINOR_CMD , CMD_M}, 1115 { "minres", 0, MINRES_CMD , CMD_1}, 1116 { "mod", 0, '%' , MULDIV_OP}, 1117 { "module", 0, MODUL_CMD , RING_DECL_LIST}, 1118 { "modulo", 0, MODULO_CMD , CMD_M}, 1119 { "monitor", 0, MONITOR_CMD , CMD_12}, 1120 { "monomial", 0, MONOM_CMD , CMD_1}, 1121 { "mpresmat", 0, MPRES_CMD, CMD_2}, 1122 { "mult", 0, MULTIPLICITY_CMD , CMD_1}, 1123 #ifdef OLD_RES 1124 { "mres", 0, MRES_CMD , CMD_23}, 1125 #else 1126 { "mres", 0, MRES_CMD , CMD_2}, 1127 #endif 1128 { "mstd", 0, MSTD_CMD , CMD_1}, 1129 { "nameof", 0, NAMEOF_CMD , CMD_1}, 1130 { "names", 0, NAMES_CMD , CMD_M}, 1131 { "newstruct", 0, NEWSTRUCT_CMD , CMD_23}, 1132 #ifdef HAVE_PLURAL 1133 { "ncalgebra", 2, NCALGEBRA_CMD , CMD_2}, 1134 { "nc_algebra", 0, NC_ALGEBRA_CMD , CMD_2}, 1135 #endif 1136 { "ncols", 0, COLS_CMD , CMD_1}, 1137 { "not", 0, NOT , NOT}, 1138 { "npars", 0, NPARS_CMD , CMD_1}, 1139 #ifdef OLD_RES 1140 { "nres", 0, RES_CMD , CMD_23}, 1141 #else 1142 { "nres", 0, RES_CMD , CMD_2}, 1143 #endif 1144 { "nrows", 0, ROWS_CMD , CMD_1}, 1145 { "number", 0, NUMBER_CMD , RING_DECL}, 1146 { "numerator", 0, NUMERATOR_CMD , CMD_1}, 1147 { "nvars", 0, NVARS_CMD , CMD_1}, 1148 { "open", 0, OPEN_CMD , CMD_1}, 1149 #ifdef HAVE_PLURAL 1150 { "oppose", 0, OPPOSE_CMD , CMD_2}, 1151 { "opposite", 0, OPPOSITE_CMD , CMD_1}, 1152 #endif 1153 { "option", 0, OPTION_CMD , CMD_M}, 1154 { "or", 0, '|' , LOGIC_OP}, 1155 { "ord", 0, ORD_CMD , CMD_1}, 1156 { "ordstr", 0, ORDSTR_CMD , CMD_1}, 1157 { "package", 0, PACKAGE_CMD , ROOT_DECL}, 1158 { "par", 0, PAR_CMD , CMD_1}, 1159 { "parameter", 0, PARAMETER , PARAMETER}, 1160 { "pardeg", 0, PARDEG_CMD , CMD_1}, 1161 { "parstr", 0, PARSTR_CMD , CMD_12}, 1162 { "poly", 0, POLY_CMD , RING_DECL}, 1163 { "polyBucket", 0, BUCKET_CMD , RING_DECL}, 1164 { "preimage", 0, PREIMAGE_CMD , CMD_13}, 1165 { "prime", 0, PRIME_CMD , CMD_1}, 1166 { "primefactors",0, PFAC_CMD , CMD_12}, 1167 { "print", 0, PRINT_CMD , CMD_12}, 1168 { "prune", 0, PRUNE_CMD , CMD_1}, 1169 { "proc", 0, PROC_CMD , PROC_CMD}, 1170 { "qhweight", 0, QHWEIGHT_CMD , CMD_1}, 1171 { "qrds", 0, QRDS_CMD , CMD_M}, 1172 { "qring", 0, QRING_CMD , ROOT_DECL}, 1173 { "quote", 0, QUOTE , QUOTE}, 1174 { "quotient", 0, QUOTIENT_CMD , CMD_2}, 1175 { "random", 0, RANDOM_CMD , CMD_23}, 1176 { "rank", 0, RANK_CMD , CMD_12}, 1177 { "read", 0, READ_CMD , CMD_12}, 1178 { "reduce", 0, REDUCE_CMD , CMD_M}, 1179 { "regularity", 0, REGULARITY_CMD , CMD_1}, 1180 { "repart", 0, REPART_CMD , CMD_1}, 1181 { "reservedName",0, RESERVEDNAME_CMD , CMD_M}, 1182 { "reservedNameList",0, RESERVEDNAMELIST_CMD , CMD_M}, 1183 { "resolution", 0, RESOLUTION_CMD , RING_DECL}, 1184 { "resultant", 0, RESULTANT_CMD, CMD_3}, 1185 { "restart", 0, RESTART_CMD, CMD_1}, 1186 { "return", 0, RETURN , RETURN}, 1187 { "RETURN", 0, END_GRAMMAR , RETURN}, 1188 #if defined(HAVE_SHIFTBBA) || defined(HAVE_PLURAL) 1189 { "rightstd", 0, RIGHTSTD_CMD , CMD_1}, 1190 #endif /* HAVE_PLURAL */ 1191 { "ring", 0, RING_CMD , RING_CMD}, 1192 { "ringlist", 0, RINGLIST_CMD , CMD_1}, 1193 { "ring_list", 0, RING_LIST_CMD , CMD_1}, 1194 { "rvar", 0, IS_RINGVAR , CMD_1}, 1195 { "sba", 0, SBA_CMD , CMD_123}, 1196 { "setring", 0, SETRING_CMD , SETRING_CMD}, 1197 { "simplex", 0, SIMPLEX_CMD, CMD_M}, 1198 { "simplify", 0, SIMPLIFY_CMD , CMD_2}, 1199 { "size", 0, COUNT_CMD , CMD_1}, 1200 { "slimgb", 0, SLIM_GB_CMD , CMD_1}, 1201 { "smatrix", 0, SMATRIX_CMD , SMATRIX_CMD}, 1202 { "sortvec", 0, SORTVEC_CMD , CMD_1}, 1203 { "sqrfree", 0, SQR_FREE_CMD , CMD_12}, 1204 #ifdef OLD_RES 1205 { "sres", 0, SRES_CMD , CMD_23}, 1206 #else /* OLD_RES */ 1207 { "sres", 0, SRES_CMD , CMD_2}, 1208 #endif /* OLD_RES */ 1209 { "status", 0, STATUS_CMD, CMD_M}, 1210 { "std", 0, STD_CMD , CMD_M}, 1211 { "string", 0, STRING_CMD , ROOT_DECL_LIST}, 1212 { "subst", 0, SUBST_CMD , CMD_M}, 1213 { "system", 0, SYSTEM_CMD, CMD_M}, 1214 { "syz", 0, SYZYGY_CMD , CMD_12}, 1215 { "tensor", 0, TENSOR_CMD , CMD_2}, 1216 { "test", 0, TEST_CMD , CMD_M}, 1217 { "trace", 0, TRACE_CMD , CMD_1}, 1218 { "transpose", 0, TRANSPOSE_CMD , CMD_1}, 1219 #if defined(HAVE_PLURAL) || defined(HAVE_SHIFTBBA) 1220 { "twostd", 0, TWOSTD_CMD , CMD_1}, 1221 #endif /* HAVE_PLURAL */ 1222 { "type", 0, TYPE_CMD , TYPE_CMD}, 1223 { "typeof", 0, TYPEOF_CMD , CMD_1}, 1224 { "univariate", 0, UNIVARIATE_CMD, CMD_1}, 1225 { "uressolve", 0, URSOLVE_CMD, CMD_M}, 1226 { "vandermonde", 0, VANDER_CMD, CMD_3}, 1227 { "var", 0, VAR_CMD , CMD_1}, 1228 { "variables", 0, VARIABLES_CMD, CMD_1}, 1229 { "varstr", 0, VARSTR_CMD , CMD_12}, 1230 { "vdim", 0, VDIM_CMD , CMD_1}, 1231 { "vector", 0, VECTOR_CMD , RING_DECL}, 1232 { "waitall", 0, WAITALL_CMD , CMD_12}, 1233 { "waitfirst", 0, WAIT1ST_CMD , CMD_12}, 1234 { "wedge", 0, WEDGE_CMD , CMD_2}, 1235 { "weight", 0, WEIGHT_CMD , CMD_1}, 1236 { "whileif", 0, IF_CMD , IF_CMD}, 1237 { "write", 0, WRITE_CMD , CMD_M}, 1238 /* delete for next version:*/ 1239 { "IN", 1, LEAD_CMD , CMD_1}, 1240 { "NF", 1, REDUCE_CMD , CMD_M}, 1241 { "multiplicity",1, MULTIPLICITY_CMD , CMD_1}, 1242 { "verbose", 2, OPTION_CMD , CMD_M}, 1243 // { "rank", 1, ROWS_CMD , CMD_1}, 1244 // { "Current", 0, -1 , SYSVAR}, 1245 // { "Top", 0, -1 , SYSVAR}, 1246 // { "Up", 0, -1 , SYSVAR}, 1247 1248 /* set sys vars*/ 1249 { "degBound", 0, VMAXDEG , SYSVAR}, 1250 { "echo", 0, VECHO , SYSVAR}, 1251 { "minpoly", 0, VMINPOLY , SYSVAR}, 1252 { "multBound", 0, VMAXMULT , SYSVAR}, 1253 { "noether", 0, VNOETHER , SYSVAR}, 1254 { "pagewidth", 0, VCOLMAX , SYSVAR}, 1255 { "printlevel", 0, VPRINTLEVEL , SYSVAR}, 1256 { "short", 0, VSHORTOUT , SYSVAR}, 1257 { "timer", 0, VTIMER , SYSVAR}, 1258 { "rtimer", 0, VRTIMER, SYSVAR}, 1259 { "TRACE", 0, TRACE , SYSVAR}, 1260 { "voice", 0, VOICE , SYSVAR}, 1261 1262 /* other reserved words:scanner.l */ 1263 { "pause", 2, -1 , 0}, 1264 { "while", 0, -1 , 0}, 1265 { "for", 0, -1 , 0}, 1266 { "help", 0, -1 , 0}, 1267 { "newline", 0, -1 , 0}, 1268 { "exit", 0, -1 , 0}, 1269 { "quit", 0, -1 , 0}, 1270 /* end of list marker */ 1271 { NULL, 0, 0, 0} 1272 }; 1273 #endif /* GENTABLE */ 1274 #endif 1275 1276 #ifdef IPCONV 1277 const struct sConvertTypes dConvertTypes[] = 1278 { 1279 // input type output type convert procedure(destr.)/(non-destr.) 1280 // int -> bigint 1281 { INT_CMD, BIGINT_CMD, D(iiI2BI) , NULL_VAL }, 1282 // int -> number 1283 { INT_CMD, NUMBER_CMD, D(iiI2N) , NULL_VAL }, 1284 { BIGINT_CMD, NUMBER_CMD, D(iiBI2N) , NULL_VAL }, 1285 // int -> poly 1286 { INT_CMD, POLY_CMD, D(iiI2P) , NULL_VAL }, 1287 { BIGINT_CMD, POLY_CMD, D(iiBI2P) , NULL_VAL }, 1288 { BUCKET_CMD, POLY_CMD, NULL_VAL, D(iiBu2P) }, 1289 // int -> vector 1290 { INT_CMD, VECTOR_CMD, D(iiI2V) , NULL_VAL }, 1291 { BIGINT_CMD, VECTOR_CMD, D(iiBI2V) , NULL_VAL }, 1292 // int -> ideal 1293 { INT_CMD, IDEAL_CMD, D(iiI2Id) , NULL_VAL }, 1294 { BIGINT_CMD, IDEAL_CMD, D(iiBI2Id) , NULL_VAL }, 1295 // int -> matrix 1296 { INT_CMD, MATRIX_CMD, D(iiI2Id) , NULL_VAL }, 1297 { BIGINT_CMD, MATRIX_CMD, D(iiBI2Id) , NULL_VAL }, 1298 // int -> intvec 1299 { INT_CMD, INTVEC_CMD, D(iiI2Iv) , NULL_VAL }, 1300 // intvec -> intmat 1301 { INTVEC_CMD, INTMAT_CMD, D(iiDummy), NULL_VAL }, 1302 // intvec -> matrix 1303 { INTVEC_CMD, MATRIX_CMD, D(iiIm2Ma) , NULL_VAL }, 1304 // intmat -> bigintmat 1305 { INTMAT_CMD, BIGINTMAT_CMD, D(iiIm2Bim) , NULL_VAL }, 1306 // intmat -> matrix 1307 { INTMAT_CMD, MATRIX_CMD, D(iiIm2Ma) , NULL_VAL }, 1308 // number -> poly 1309 { NUMBER_CMD, POLY_CMD, D(iiN2P) , NULL_VAL }, 1310 // number -> matrix 1311 { NUMBER_CMD, MATRIX_CMD, D(iiN2Ma) , NULL_VAL }, 1312 // number -> ideal 1313 // number -> vector 1314 // number -> module 1315 // poly -> number 1316 // poly -> ideal 1317 { POLY_CMD, IDEAL_CMD, D(iiP2Id) , NULL_VAL }, 1318 // poly -> vector 1319 { POLY_CMD, VECTOR_CMD, D(iiP2V) , NULL_VAL }, 1320 // poly -> matrix 1321 { POLY_CMD, MATRIX_CMD, D(iiP2Id) , NULL_VAL }, 1322 // the same for polyBucket: 1323 { BUCKET_CMD, IDEAL_CMD, D(iiBu2Id) , NULL_VAL }, 1324 { BUCKET_CMD, VECTOR_CMD, D(iiBu2V) , NULL_VAL }, 1325 { BUCKET_CMD, MATRIX_CMD, D(iiBu2Id) , NULL_VAL }, 1326 // vector -> module 1327 { VECTOR_CMD, MODUL_CMD, D(iiP2Id) , NULL_VAL }, 1328 // vector -> matrix 1329 { VECTOR_CMD, MATRIX_CMD, D(iiV2Ma) , NULL_VAL }, 1330 // ideal -> module 1331 { IDEAL_CMD, MODUL_CMD, D(iiMa2Mo) , NULL_VAL }, 1332 // ideal -> matrix 1333 { IDEAL_CMD, MATRIX_CMD, D(iiDummy) , NULL_VAL }, 1334 // module -> matrix 1335 { MODUL_CMD, MATRIX_CMD, D(iiMo2Ma) , NULL_VAL }, 1336 // matrix -> ideal 1337 // matrix -> module 1338 { MATRIX_CMD, MODUL_CMD, D(iiMa2Mo) , NULL_VAL }, 1339 // intvec 1340 // string -> link 1341 { STRING_CMD, LINK_CMD, D(iiS2Link) , NULL_VAL }, 1342 // resolution -> list 1343 { RESOLUTION_CMD, LIST_CMD, NULL_VAL , D(iiR2L_l) }, 1344 // list -> resolution 1345 { LIST_CMD, RESOLUTION_CMD, NULL_VAL , D(iiL2R) }, 1346 // matrix -> smatrix 1347 { MATRIX_CMD, SMATRIX_CMD, D(iiMa2Mo), NULL_VAL }, 1348 // module -> smatrix 1349 { MODUL_CMD, SMATRIX_CMD, D(iiDummy), NULL_VAL }, 1350 // smatrix -> matrix 1351 { SMATRIX_CMD, MATRIX_CMD, D(iiMo2Ma) , NULL_VAL }, 1352 // smatrix -> module 1353 { SMATRIX_CMD, MODUL_CMD, D(iiDummy) , NULL_VAL }, 1354 #ifdef SINGULAR_4_2 1355 { INT_CMD, CNUMBER_CMD, D(iiI2NN) , NULL_VAL }, 1356 { BIGINT_CMD, CNUMBER_CMD, D(iiBI2NN) , NULL_VAL }, 1357 { CNUMBER_CMD, NUMBER_CMD, D(iiNN2N) , NULL_VAL }, 1358 { CNUMBER_CMD, POLY_CMD, D(iiNN2P) , NULL_VAL }, 1359 { INT_CMD, CPOLY_CMD, D(iiI2CP), NULL_VAL }, 1360 { BIGINT_CMD, CPOLY_CMD, D(iiBI2CP), NULL_VAL }, 1361 // { NUMBER_CMD, CPOLY_CMD, D(iiN2CP), NULL_VAL }, 1362 { POLY_CMD, CPOLY_CMD, D(iiP2CP), NULL_VAL }, 1363 #endif 1364 // end of list 1365 { 0, 0, NULL_VAL , NULL_VAL } 1366 }; 1367 #else 1368 extern const struct sConvertTypes dConvertTypes[]; 1369 #endif 1370 #ifdef IPASSIGN 1371 const struct sValAssign dAssign[]= 1372 { 1373 // same res types must be grouped together 1374 // proc res arg 1375 {D(jiA_BIGINT), BIGINT_CMD, BIGINT_CMD } 1376 ,{D(jiA_BIGINTMAT),BIGINTMAT_CMD, BIGINTMAT_CMD} 1377 ,{D(jiA_CRING), CRING_CMD, CRING_CMD } 1378 ,{D(jiA_IDEAL), IDEAL_CMD, IDEAL_CMD } 1379 ,{D(jiA_IDEAL_Mo), IDEAL_CMD, MODUL_CMD } 1380 ,{D(jiA_IDEAL_M), IDEAL_CMD, MATRIX_CMD } 1381 ,{D(jiA_INT), INT_CMD, INT_CMD } 1382 ,{D(jiA_1x1INTMAT), INT_CMD, INTMAT_CMD } 1383 ,{D(jiA_INTVEC), INTVEC_CMD, INTVEC_CMD } 1384 ,{D(jiA_INTVEC), INTMAT_CMD, INTMAT_CMD } 1385 ,{D(jiA_LINK), LINK_CMD, STRING_CMD } 1386 ,{D(jiA_LINK), LINK_CMD, LINK_CMD } 1387 ,{D(jiA_LIST_RES), LIST_CMD, RESOLUTION_CMD } 1388 ,{D(jiA_LIST), LIST_CMD, LIST_CMD } 1389 ,{D(jiA_MAP_ID), MAP_CMD, IDEAL_CMD } 1390 ,{D(jiA_MAP), MAP_CMD, MAP_CMD } 1391 ,{D(jiA_IDEAL), MATRIX_CMD, MATRIX_CMD } 1392 ,{D(jiA_IDEAL), MODUL_CMD, MODUL_CMD } 1393 ,{D(jiA_MODUL_P), MODUL_CMD, POLY_CMD } 1394 ,{D(jiA_NUMBER), NUMBER_CMD, NUMBER_CMD } 1395 ,{D(jiA_PACKAGE), PACKAGE_CMD, PACKAGE_CMD } 1396 ,{D(jiA_POLY), POLY_CMD, POLY_CMD } 1397 ,{D(jiA_1x1MATRIX),POLY_CMD, MATRIX_CMD } 1398 ,{D(jiA_BUCKET), POLY_CMD, BUCKET_CMD} 1399 ,{D(jiA_PROC), PROC_CMD, STRING_CMD } 1400 ,{D(jiA_PROC), PROC_CMD, PROC_CMD } 1401 ,{D(jiA_RESOLUTION),RESOLUTION_CMD,RESOLUTION_CMD } 1402 ,{D(jiA_RING), RING_CMD, RING_CMD } 1403 ,{D(jiA_QRING), RING_CMD, IDEAL_CMD } 1404 ,{D(jiA_IDEAL), SMATRIX_CMD, SMATRIX_CMD } 1405 ,{D(jiA_IDEAL), SMATRIX_CMD, MODUL_CMD } 1406 ,{D(jiA_STRING), STRING_CMD, STRING_CMD } 1407 ,{D(jiA_POLY), VECTOR_CMD, VECTOR_CMD } 1408 #ifdef SINGULAR_4_2 1409 ,{D(jiA_BIGINTMAT),CMATRIX_CMD, CMATRIX_CMD} 1410 ,{D(jiA_NUMBER2), CNUMBER_CMD, CNUMBER_CMD } 1411 ,{D(jiA_NUMBER2_I),CNUMBER_CMD, INT_CMD } 1412 ,{D(jiA_NUMBER2_N),CNUMBER_CMD, NUMBER_CMD } 1413 ,{D(jiA_POLY2), CPOLY_CMD, CPOLY_CMD } 1414 //,{D(jiA_POLY2_P), CPOLY_CMD, POLY_CMD } 1415 ,{D(jiA_CRING), CRING_CMD, CRING_CMD } 1416 #endif 1417 ,{D(jiA_DEF), DEF_CMD, DEF_CMD } 1418 ,{NULL_VAL, 0, 0 } 1419 }; 1420 const struct sValAssign_sys dAssign_sys[]= 1421 { 1422 // sysvars: 1423 {D(jjECHO), VECHO, INT_CMD } 1424 ,{D(jjPRINTLEVEL), VPRINTLEVEL, INT_CMD } 1425 ,{D(jjCOLMAX), VCOLMAX, INT_CMD } 1426 ,{D(jjTIMER), VTIMER, INT_CMD } 1427 #ifdef HAVE_GETTIMEOFDAY 1428 ,{D(jjRTIMER), VRTIMER, INT_CMD } 1429 #endif 1430 ,{D(jjMAXDEG), VMAXDEG, INT_CMD } 1431 ,{D(jjMAXMULT), VMAXMULT, INT_CMD } 1432 ,{D(jjTRACE), TRACE, INT_CMD } 1433 ,{D(jjSHORTOUT), VSHORTOUT, INT_CMD } 1434 ,{D(jjMINPOLY), VMINPOLY, NUMBER_CMD } 1435 ,{D(jjNOETHER), VNOETHER, POLY_CMD } 1436 ,{NULL_VAL, 0, 0 } 1437 }; 1438 #endif 1439