Changeset 195803 in git for kernel/ideals.cc
- Timestamp:
- Mar 4, 2008, 4:31:54 PM (15 years ago)
- Branches:
- (u'spielwiese', '0d6b7fcd9813a1ca1ed4220cfa2b104b97a0a003')
- Children:
- 61d7071a1abe6bd2b06484655f5b1adfe2414425
- Parents:
- c1d486a67f7df0247b99fe2775e41c40a20af224
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/ideals.cc
rc1d486a r195803 2 2 * Computer Algebra System SINGULAR * 3 3 ****************************************/ 4 /* $Id: ideals.cc,v 1.4 7 2008-03-04 14:58:35Singular Exp $ */4 /* $Id: ideals.cc,v 1.48 2008-03-04 15:31:54 Singular Exp $ */ 5 5 /* 6 6 * ABSTRACT - all basic methods to manipulate ideals … … 2340 2340 for (k=0;; k++) 2341 2341 { 2342 if ( currRing->order[k]!=0) ordersize++;2342 if (origR->order[k]!=0) ordersize++; 2343 2343 else break; 2344 2344 } … … 2346 2346 block0=(int*)omAlloc(ordersize*sizeof(int)); 2347 2347 block1=(int*)omAlloc(ordersize*sizeof(int)); 2348 for (k=0;; k++) 2349 { 2350 if (currRing->order[k]!=0) 2351 { 2352 block0[k+1] = currRing->block0[k]; 2353 block1[k+1] = currRing->block1[k]; 2354 ord[k+1] = currRing->order[k]; 2355 } 2356 else 2357 break; 2348 for (k=0;k<ordersize-1; k++) 2349 { 2350 block0[k+1] = origR->block0[k]; 2351 block1[k+1] = origR->block1[k]; 2352 ord[k+1] = origR->order[k]; 2358 2353 } 2359 2354 block0[0] = 1; 2360 block1[0] = pVariables;2355 block1[0] = rVar(origR); 2361 2356 wv=(int**) omAlloc0(ordersize*sizeof(int**)); 2362 2357 memcpy4(wv+1,currRing->wvhdl,(ordersize-1)*sizeof(int**)); 2363 2358 wv[0]=(int*)omAlloc((pVariables+1)*sizeof(int)); 2364 2359 memset(wv[0],0,(pVariables+1)*sizeof(int)); 2365 for (j=0;j< pVariables;j++)2360 for (j=0;j<rVar(origR);j++) 2366 2361 if (pGetExp(delVar,j+1)!=0) wv[0][j]=1; 2367 2362 // use this special ordering: like ringorder_a, except that pFDeg, pWeights … … 2370 2365 2371 2366 // fill in tmp ring to get back the data later on 2372 tmpR = rCopy0(origR); 2373 omFree(tmpR->order); tmpR->order = ord; 2374 omFree(tmpR->block0); tmpR->block0 = block0; 2375 omFree(tmpR->block1); tmpR->block1 = block0; 2376 for(k=rBlocks(origR); k>=0; k--) 2377 { if (tmpR->wvhdl[k]!=NULL) omFree(tmpR->wvhdl[k]); } 2378 omFree(tmpR->wvhdl); 2367 tmpR = rCopy0(origR,FALSE,FALSE); // qring==NULL 2368 tmpR->order = ord; 2369 tmpR->block0 = block0; 2370 tmpR->block1 = block1; 2379 2371 tmpR->wvhdl = wv; 2380 2372 rComplete(tmpR, 1);
Note: See TracChangeset
for help on using the changeset viewer.