Changeset c1d486a in git for kernel/ideals.cc


Ignore:
Timestamp:
Mar 4, 2008, 3:58:35 PM (15 years ago)
Author:
Hans Schönemann <hannes@…>
Branches:
(u'spielwiese', '0d6b7fcd9813a1ca1ed4220cfa2b104b97a0a003')
Children:
195803b9ee6b9462fd5f3b42805bf7ecb3e8f865
Parents:
11d9d6ab9c7d17ce683526d3a3a51adbe2cb96a0
Message:
*hannes: use rCopy0


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

Legend:

Unmodified
Added
Removed
  • kernel/ideals.cc

    r11d9d6a rc1d486a  
    22*  Computer Algebra System SINGULAR     *
    33****************************************/
    4 /* $Id: ideals.cc,v 1.46 2008-02-01 13:45:37 Singular Exp $ */
     4/* $Id: ideals.cc,v 1.47 2008-03-04 14:58:35 Singular Exp $ */
    55/*
    66* ABSTRACT - all basic methods to manipulate ideals
     
    23082308  tHomog hom;
    23092309  intvec * w;
    2310   sip_sring tmpR;
     2310  ring tmpR;
    23112311  ring origR = currRing;
    23122312
     
    23702370
    23712371  // fill in tmp ring to get back the data later on
    2372   tmpR  = *origR;
    2373   tmpR.order = ord;
    2374   tmpR.block0 = block0;
    2375   tmpR.block1 = block1;
    2376   tmpR.wvhdl = wv;
    2377   rComplete(&tmpR, 1);
     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);
     2379  tmpR->wvhdl = wv;
     2380  rComplete(tmpR, 1);
    23782381
    23792382#ifdef HAVE_PLURAL
     
    23822385  {
    23832386    BOOLEAN bBAD = FALSE;
    2384     if ( nc_rComplete(origR, &tmpR) )
     2387    if ( nc_rComplete(origR, tmpR) )
    23852388    {
    23862389      Werror("error in nc_rComplete");
     
    23902393    {
    23912394      /* tests the admissibility of the new elim. ordering */
    2392       if ( nc_CheckOrdCondition( (&tmpR)->nc->D, &tmpR) )
     2395      if ( nc_CheckOrdCondition( tmpR->nc->D, tmpR) )
    23932396      {
    23942397        Werror("no elimination is possible: ordering condition is violated");
     
    23992402    {
    24002403      // cleanup
    2401       omFree((ADDRESS)wv[0]);
    2402       omFreeSize((ADDRESS)wv,ordersize*sizeof(int**));
    2403       omFreeSize((ADDRESS)ord,ordersize*sizeof(int));
    2404       omFreeSize((ADDRESS)block0,ordersize*sizeof(int));
    2405       omFreeSize((ADDRESS)block1,ordersize*sizeof(int));
    2406       rUnComplete(&tmpR);
     2404      rDelete(tmpR);
    24072405      if (w!=NULL)
    24082406      {
     
    24152413  // change into the new ring
    24162414  //pChangeRing(pVariables,currRing->OrdSgn,ord,block0,block1,wv);
    2417   rChangeCurrRing(&tmpR);
     2415  rChangeCurrRing(tmpR);
    24182416
    24192417  h = idInit(IDELEMS(h1),h1->rank);
     
    24372435  {
    24382436    l=pVariables;
    2439     while ((l>0) && (p_GetExp( hh->m[k],l,&tmpR)*pGetExp(delVar,l)==0)) l--;
     2437    while ((l>0) && (p_GetExp( hh->m[k],l,tmpR)*pGetExp(delVar,l)==0)) l--;
    24402438    if (l==0)
    24412439    {
     
    24462444        IDELEMS(h3) += 16;
    24472445      }
    2448       h3->m[j] = prCopyR( hh->m[k], &tmpR);
    2449     }
    2450   }
    2451   id_Delete(&hh, &tmpR);
     2446      h3->m[j] = prCopyR( hh->m[k], tmpR);
     2447    }
     2448  }
     2449  id_Delete(&hh, tmpR);
    24522450  idSkipZeroes(h3);
    2453   omFree((ADDRESS)wv[0]);
    2454   omFreeSize((ADDRESS)wv,ordersize*sizeof(int**));
    2455   omFreeSize((ADDRESS)ord,ordersize*sizeof(int));
    2456   omFreeSize((ADDRESS)block0,ordersize*sizeof(int));
    2457   omFreeSize((ADDRESS)block1,ordersize*sizeof(int));
    2458   rUnComplete(&tmpR);
     2451  rDelete(tmpR);
    24592452  if (w!=NULL)
    24602453    delete w;
Note: See TracChangeset for help on using the changeset viewer.