Changeset d25e3f in git for Singular/iparith.cc
- Timestamp:
- Jul 18, 2018, 1:14:33 PM (5 years ago)
- Branches:
- (u'spielwiese', 'e7cc1ebecb61be8b9ca6c18016352af89940b21a')
- Children:
- cebb9879c2629291abb5ffeb202af73fa0749eb3
- Parents:
- 55b29ffa7e5ceaaf5e8681e442c601fdf88fd855
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
Singular/iparith.cc
r55b29f rd25e3f 2176 2176 // Allow imap/fetch to be make an exception only for: 2177 2177 if (nCoeff_is_Extension(r->cf) && // Q(a..) -> Q(a..) || Q || Zp || Zp(a) 2178 ((n_SetMap(r->cf->extRing->cf,currRing->cf)!=NULL) 2179 2178 ((n_SetMap(r->cf->extRing->cf,currRing->cf)!=NULL) 2179 || (nCoeff_is_Extension(currRing->cf) && (n_SetMap(r->cf->extRing->cf,currRing->cf->extRing->cf)!=NULL)))) 2180 2180 { 2181 2181 par_perm_size=rPar(r); … … 3296 3296 assumeStdFlag(u); 3297 3297 ideal i1=(ideal)(u->Data()); 3298 int ii1=idElem(i1); /* size of i1 */ 3298 3299 ideal i0; 3299 3300 int r=v->Typ(); 3300 3301 if ((/*v->Typ()*/r==POLY_CMD) ||(r==VECTOR_CMD)) 3301 3302 { 3302 i0=idInit(1,i1->rank); // TODO: rank is wrong (if v is a vector!)3303 i0 ->m[0]=(poly)v->Data();3304 i nt ii0=idElem(i0); /* size of i0 */3303 poly p=(poly)v->Data(); 3304 i0=idInit(1,i1->rank); 3305 i0->m[0]=p; 3305 3306 i1=idSimpleAdd(i1,i0); // 3306 3307 memset(i0->m,0,sizeof(poly)*IDELEMS(i0)); … … 3326 3327 SI_SAVE_OPT1(save1); 3327 3328 si_opt_1|=Sy_bit(OPT_SB_1); 3328 /* ii 0appears to be the position of the first element of il that3329 /* ii1 appears to be the position of the first element of il that 3329 3330 does not belong to the old SB ideal */ 3330 result=kStd(i1,currRing->qideal,hom,&w,NULL,0,ii 0);3331 result=kStd(i1,currRing->qideal,hom,&w,NULL,0,ii1); 3331 3332 SI_RESTORE_OPT1(save1); 3332 3333 idDelete(&i1); … … 3338 3339 { 3339 3340 i0=(ideal)v->CopyD(); 3340 int ii0=idElem(i0); /* size of i0 */3341 3341 i1=idSimpleAdd(i1,i0); // 3342 3342 memset(i0->m,0,sizeof(poly)*IDELEMS(i0)); … … 3359 3359 } 3360 3360 } 3361 if (ii0*4 >= 3*IDELEMS(i1)) // MAGIC: add few poly to large SB: 3/4 3362 { 3363 BITSET save1; 3364 SI_SAVE_OPT1(save1); 3365 si_opt_1|=Sy_bit(OPT_SB_1); 3366 /* ii0 appears to be the position of the first element of il that 3367 does not belong to the old SB ideal */ 3368 result=kStd(i1,currRing->qideal,hom,&w,NULL,0,ii0); 3369 SI_RESTORE_OPT1(save1); 3370 } 3371 else 3372 { 3373 result=kStd(i1,currRing->qideal,hom,&w); 3374 } 3361 BITSET save1; 3362 SI_SAVE_OPT1(save1); 3363 si_opt_1|=Sy_bit(OPT_SB_1); 3364 /* ii1 appears to be the position of the first element of i1 that 3365 does not belong to the old SB ideal */ 3366 result=kStd(i1,currRing->qideal,hom,&w,NULL,0,ii1); 3367 SI_RESTORE_OPT1(save1); 3375 3368 idDelete(&i1); 3376 3369 idSkipZeroes(result); … … 6915 6908 // Allow imap/fetch to be make an exception only for: 6916 6909 if (nCoeff_is_Extension(r->cf) && // Q(a..) -> Q(a..) || Q || Zp || Zp(a) 6917 ((n_SetMap(r->cf->extRing->cf,currRing->cf)!=NULL) 6918 6910 ((n_SetMap(r->cf->extRing->cf,currRing->cf)!=NULL) 6911 || (nCoeff_is_Extension(currRing->cf) && (n_SetMap(r->cf->extRing->cf,currRing->cf->extRing->cf)!=NULL)))) 6919 6912 { 6920 6913 par_perm_size=rPar(r);
Note: See TracChangeset
for help on using the changeset viewer.