Changeset c3b7d1e in git
- Timestamp:
- Feb 1, 2021, 1:37:46 AM (2 years ago)
- Branches:
- (u'jengelh-datetime', 'ceac47cbc86fe4a15902392bdbb9bd2ae0ea02c6')(u'spielwiese', 'a657104b677b4c461d018cbf3204d72d34ad66a9')
- Children:
- 7f6fff5afd5c76a57ccfa8440a2c329db0c215f5
- Parents:
- 15fc5f19a9a19e268ea1f86d8e7d35f229908025
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
Singular/iparith.cc
r15fc5f1 rc3b7d1e 2166 2166 } 2167 2167 } 2168 if ((iiOp!=FETCH_CMD) || (r->N!=currRing->N) || (rPar(r)!=rPar(currRing))) 2168 if ( 2169 (iiOp!=FETCH_CMD) || (r->N!=currRing->N) || (rPar(r)!=rPar(currRing)) 2170 #ifdef HAVE_SHIFTBBA 2171 || rIsLPRing(currRing) 2172 #endif 2173 ) 2169 2174 { 2170 2175 perm=(int *)omAlloc0((r->N+1)*sizeof(int)); … … 2205 2210 else 2206 2211 { 2207 unsigned i; 2208 if (par_perm_size!=0) 2209 for(i=si_min(rPar(r),rPar(currRing));i>0;i--) par_perm[i-1]=-i; 2210 for(i=si_min(r->N,currRing->N);i>0;i--) perm[i]=i; 2212 #ifdef HAVE_SHIFTBBA 2213 if (rIsLPRing(currRing)) 2214 { 2215 maFetchPermLP(r, currRing, perm); 2216 } 2217 else 2218 #endif 2219 { 2220 unsigned i; 2221 if (par_perm_size!=0) 2222 for(i=si_min(rPar(r),rPar(currRing));i>0;i--) par_perm[i-1]=-i; 2223 for(i=si_min(r->N,currRing->N);i>0;i--) perm[i]=i; 2224 } 2211 2225 } 2212 2226 } -
Singular/maps_ip.cc
r15fc5f1 rc3b7d1e 125 125 break; 126 126 case BUCKET_CMD: 127 if ((what==FETCH_CMD)&& (preimage_r->cf==currRing->cf)) 127 if ( 128 (what==FETCH_CMD) && (preimage_r->cf==currRing->cf) 129 #ifdef HAVE_SHIFTBBA 130 && !rIsLPRing(currRing) 131 #endif 132 ) 128 133 res->data=(void *)prCopyR(sBucketPeek((sBucket_pt)data), preimage_r, currRing); 129 134 else … … 139 144 case POLY_CMD: 140 145 case VECTOR_CMD: 141 if ((what==FETCH_CMD)&& (preimage_r->cf==currRing->cf)) 146 if ( 147 (what==FETCH_CMD) && (preimage_r->cf==currRing->cf) 148 #ifdef HAVE_SHIFTBBA 149 && !rIsLPRing(currRing) 150 #endif 151 ) 142 152 res->data=(void *)prCopyR( (poly)data, preimage_r, currRing); 143 153 else … … 169 179 ((matrix)data)->rank=((matrix)data)->rows(); 170 180 } 171 if ((what==FETCH_CMD)&& (preimage_r->cf == currRing->cf)) 181 if ( 182 (what==FETCH_CMD) && (preimage_r->cf == currRing->cf) 183 #ifdef HAVE_SHIFTBBA 184 && !rIsLPRing(currRing) 185 #endif 186 ) 172 187 { 173 188 for (i=R*C-1;i>=0;i--) -
Singular/table.h
r15fc5f1 rc3b7d1e 922 922 ,{D(jjDBPRINT), DBPRINT_CMD, NONE, -2 , ALLOW_NC |ALLOW_RING} 923 923 //,{D(jjEXPORTTO_M), EXPORTTO_CMD, NONE, -2 , ALLOW_NC |ALLOW_RING} 924 ,{D(jjCALL2ARG), FETCH_CMD, ANY_TYPE/*or set by p*/,2 , ALLOW_ PLURAL|ALLOW_RING}924 ,{D(jjCALL2ARG), FETCH_CMD, ANY_TYPE/*or set by p*/,2 , ALLOW_NC |ALLOW_RING} 925 925 ,{D(jjFETCH_M), FETCH_CMD, ANY_TYPE/*or set by p*/,3 , ALLOW_PLURAL |ALLOW_RING} 926 926 ,{D(jjFETCH_M), FETCH_CMD, ANY_TYPE/*or set by p*/,4 , ALLOW_PLURAL |ALLOW_RING} -
libpolys/polys/monomials/maps.cc
r15fc5f1 rc3b7d1e 300 300 } 301 301 } 302 } 303 } 304 } 305 306 void maFetchPermLP(const ring preimage_r, const ring dst_r, int * perm) 307 /* perm=(int *)omAlloc0(preimage_r->N+1 * sizeof(int)); */ 308 { 309 for (int i = 0; i < preimage_r->N + 1; i++) { perm[i] = 0; } 310 311 int preimage_lV = preimage_r->isLPring; 312 int r_lV = dst_r->isLPring; 313 314 int preimage_ncgens = preimage_r->LPncGenCount; 315 int r_ncges = dst_r->LPncGenCount; 316 317 int preimage_vars = preimage_lV - preimage_ncgens; 318 int r_vars = r_lV - r_ncges; 319 320 // for each block 321 for (int i = 0; i < si_min(preimage_r->N / preimage_lV, dst_r->N / r_lV); i++) 322 { 323 // align variables 324 for (int j = 1; j <= si_min(preimage_vars, r_vars); j++) 325 { 326 perm[(i * preimage_lV) + j] = (i * r_lV) + j; 327 } 328 329 // align ncgens 330 for (int j = 1; j <= si_min(preimage_ncgens, r_ncges); j++) 331 { 332 perm[(i * preimage_lV) + preimage_vars + j] = (i * r_lV) + r_vars + j; 302 333 } 303 334 } -
libpolys/polys/monomials/maps.h
r15fc5f1 rc3b7d1e 24 24 char const * const * const names, int n, char const * const * const par, int nop, 25 25 int * perm, int *par_perm, n_coeffType ch, int lV); 26 void maFetchPermLP(const ring preimage_r, const ring dst_r, int * perm); 26 27 #endif 27 28 poly pSubstPoly(poly p, int var, poly image);
Note: See TracChangeset
for help on using the changeset viewer.