Changeset 195803 in git for kernel/ideals.cc


Ignore:
Timestamp:
Mar 4, 2008, 4:31:54 PM (15 years ago)
Author:
Hans Schönemann <hannes@…>
Branches:
(u'spielwiese', '0d6b7fcd9813a1ca1ed4220cfa2b104b97a0a003')
Children:
61d7071a1abe6bd2b06484655f5b1adfe2414425
Parents:
c1d486a67f7df0247b99fe2775e41c40a20af224
Message:
*hannes: rCopy0 in idElimination


git-svn-id: file:///usr/local/Singular/svn/trunk@10612 2c84dea3-7e68-4137-9b89-c4e89433aadc
File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/ideals.cc

    rc1d486a r195803  
    22*  Computer Algebra System SINGULAR     *
    33****************************************/
    4 /* $Id: ideals.cc,v 1.47 2008-03-04 14:58:35 Singular Exp $ */
     4/* $Id: ideals.cc,v 1.48 2008-03-04 15:31:54 Singular Exp $ */
    55/*
    66* ABSTRACT - all basic methods to manipulate ideals
     
    23402340  for (k=0;; k++)
    23412341  {
    2342     if (currRing->order[k]!=0) ordersize++;
     2342    if (origR->order[k]!=0) ordersize++;
    23432343    else break;
    23442344  }
     
    23462346  block0=(int*)omAlloc(ordersize*sizeof(int));
    23472347  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];
    23582353  }
    23592354  block0[0] = 1;
    2360   block1[0] = pVariables;
     2355  block1[0] = rVar(origR);
    23612356  wv=(int**) omAlloc0(ordersize*sizeof(int**));
    23622357  memcpy4(wv+1,currRing->wvhdl,(ordersize-1)*sizeof(int**));
    23632358  wv[0]=(int*)omAlloc((pVariables+1)*sizeof(int));
    23642359  memset(wv[0],0,(pVariables+1)*sizeof(int));
    2365   for (j=0;j<pVariables;j++)
     2360  for (j=0;j<rVar(origR);j++)
    23662361    if (pGetExp(delVar,j+1)!=0) wv[0][j]=1;
    23672362  // use this special ordering: like ringorder_a, except that pFDeg, pWeights
     
    23702365
    23712366  // 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;
    23792371  tmpR->wvhdl = wv;
    23802372  rComplete(tmpR, 1);
Note: See TracChangeset for help on using the changeset viewer.