Changeset d116de5 in git
- Timestamp:
- Sep 17, 2022, 5:05:30 PM (19 months ago)
- Branches:
- (u'spielwiese', '17f1d200f27c5bd38f5dfc6e8a0879242279d1d8')
- Children:
- 64af4704e7419dc5bf9280adb417f0d34f0b6ca2
- Parents:
- f7c2b38c7fee4700691783a2d80bee341805ebc5
- Location:
- libpolys/polys
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
libpolys/polys/simpleideals.cc
rf7c2b3 rd116de5 385 385 } 386 386 387 /// delete id[j], if LT(j) == coeff*mon*LT(i) (j>i) 388 /// assume LC(j)==NULL or n_Delete==ndDelete 389 static void id_DelDiv_SEV0(ideal id, int k,const ring r) 390 { 391 int kk = k+1; 392 long *sev=(long*)omAlloc0(kk*sizeof(long)); 393 while(id->m[k]==NULL) k--; 394 for (int i=k; i>=0; i--) 395 { 396 if(id->m[i]!=NULL) 397 sev[i]=p_GetShortExpVector(id->m[i],r); 398 } 399 for (int i=0; i<k; i++) 400 { 401 if (id->m[i] != NULL) 402 { 403 poly m_i=id->m[i]; 404 for (int j=i+1; j<=k; j++) 405 { 406 if (id->m[j]!=NULL) 407 { 408 if (p_LmShortDivisibleBy(m_i, sev[i],r, id->m[j],~sev[j],r)) 409 { 410 p_LmFree(&id->m[j],r); 411 } 412 else if (p_LmShortDivisibleBy(id->m[j],sev[j],r, m_i,~sev[i],r)) 413 { 414 p_LmFree(&id->m[i],r); 415 break; 416 } 417 } 418 } 419 } 420 } 421 omFreeSize(sev,kk*sizeof(long)); 422 } 423 424 387 425 /// delete id[j], if LT(j) == coeff*mon*LT(i) and vice versa, i.e., 388 426 /// delete id[i], if LT(i) == coeff*mon*LT(j) … … 456 494 int k = IDELEMS(id)-1; 457 495 id_DelDiv_SEV(id,k,r); 496 } 497 void id_DelDiv_Sorted0(ideal id, const ring r) 498 { 499 int k = IDELEMS(id)-1; 500 id_DelDiv_SEV0(id,k,r); 458 501 } 459 502 -
libpolys/polys/simpleideals.h
rf7c2b3 rd116de5 111 111 void id_DelDiv(ideal id, const ring r); 112 112 void id_DelDiv_Sorted(ideal id, const ring r); 113 void id_DelDiv_Sorted0(ideal id, const ring r); 113 114 BOOLEAN id_IsConstant(ideal id, const ring r); 114 115
Note: See TracChangeset
for help on using the changeset viewer.