Changeset 15d7992 in git


Ignore:
Timestamp:
Nov 2, 1999, 6:15:31 PM (24 years ago)
Author:
Hans Schönemann <hannes@…>
Branches:
(u'spielwiese', 'fe61d9c35bf7c61f2b6cbf1b56e25e2f08d536cc')
Children:
eedab2da10a67a652d6ceaec8f3eda75972de883
Parents:
09d74fe32549b29b79a4914b54c31135c0ec128a
Message:
*hannes: bug fixes related to facstd


git-svn-id: file:///usr/local/Singular/svn/trunk@3805 2c84dea3-7e68-4137-9b89-c4e89433aadc
Location:
Singular
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • Singular/kstdfac.cc

    r09d74fe r15d7992  
    22*  Computer Algebra System SINGULAR     *
    33****************************************/
    4 /* $Id: kstdfac.cc,v 1.28 1999-11-02 15:19:08 Singular Exp $ */
     4/* $Id: kstdfac.cc,v 1.29 1999-11-02 17:15:31 Singular Exp $ */
    55/*
    66*  ABSTRACT -  Kernel: factorizing alg. of Buchberger
     
    251251    int facdeg=pFDeg(strat->S[si]);
    252252
    253     kTest_S(strat);
     253    kTest(strat);
    254254    ideal fac=singclap_factorize(strat->S[si],NULL,1);
     255    kTest(strat);
    255256#ifndef HAVE_LIBFAC_P
    256257    if (fac==NULL)
     
    371372              }
    372373              while (n->Ll >= 0) deleteInL(n->L,&n->Ll,n->Ll,n);
    373               while (n->tl >= 0) { pDelete(&n->T[n->tl].p); n->tl--; }
     374              while (n->tl >= 0)
     375              {
     376                int i=n->sl;
     377                while (i>=0)
     378                {
     379                  if (n->S[i]==n->T[n->tl].p)
     380                  {
     381                    n->T[n->tl].p=NULL; n->S[i]=NULL;
     382                    break;
     383                  }
     384                  i--;
     385                }
     386                pDelete(&n->T[n->tl].p);
     387                n->tl--;
     388              }
    374389              memset(n->Shdl->m,0,IDELEMS(n->Shdl)*sizeof(poly));
    375390              n->sl=-1;
     
    400415              }
    401416              while (n->Ll >= 0) deleteInL(n->L,&n->Ll,n->Ll,n);
    402               while (n->tl >= 0) { pDelete(&n->T[n->tl].p); n->tl--; }
     417              while (n->tl >= 0)
     418              {
     419                int i=n->sl;
     420                while (i>=0)
     421                {
     422                  if (n->S[i]==n->T[n->tl].p)
     423                  {
     424                    n->T[n->tl].p=NULL; n->S[i]=NULL;
     425                    break;
     426                  }
     427                  i--;
     428                }
     429                pDelete(&n->T[n->tl].p);
     430                n->tl--;
     431              }
    403432              memset(n->Shdl->m,0,IDELEMS(n->Shdl)*sizeof(poly));
    404433              n->sl=-1;
     
    440469    if (strat->Ll== 0) strat->interpt=TRUE;
    441470    if (TEST_OPT_DEGBOUND
    442     && ((strat->honey 
     471    && ((strat->honey
    443472        && (strat->L[strat->Ll].ecart+pFDeg(strat->L[strat->Ll].p)>Kstd1_deg))
    444473      || ((!strat->honey) && (pFDeg(strat->L[strat->Ll].p)>Kstd1_deg))))
     
    643672                while (n->Ll >= 0) deleteInL(n->L,&n->Ll,n->Ll,n);
    644673                //if (n->tl >=0) Print("tl:%d|",n->tl);
    645                 while (n->tl >= 0) { pDelete(&n->T[n->tl].p); n->tl--; }
     674                while (n->tl >= 0)
     675                {
     676                  int i=n->sl;
     677                  while (i>=0)
     678                  {
     679                    if (n->S[i]==n->T[n->tl].p)
     680                    {
     681                      n->T[n->tl].p=NULL; n->S[i]=NULL;
     682                      break;
     683                    }
     684                    i--;
     685                  }
     686                  pDelete(&n->T[n->tl].p);
     687                  n->tl--;
     688                }
    646689                memset(n->Shdl->m,0,IDELEMS(n->Shdl)*sizeof(poly));
    647690                n->sl=-1;
     
    672715                }
    673716                while (n->Ll >= 0) deleteInL(n->L,&n->Ll,n->Ll,n);
    674                 while (n->tl >= 0) { pDelete(&n->T[n->tl].p); n->tl--; }
     717                while (n->tl >= 0)
     718                {
     719                  int i=n->sl;
     720                  while (i>=0)
     721                  {
     722                    if (n->S[i]==n->T[n->tl].p)
     723                    {
     724                      n->T[n->tl].p=NULL; n->S[i]=NULL;
     725                      break;
     726                    }
     727                    i--;
     728                  }
     729                  pDelete(&n->T[n->tl].p);
     730                  n->tl--;
     731                }
    675732                memset(n->Shdl->m,0,IDELEMS(n->Shdl)*sizeof(poly));
    676733                n->sl=-1;
     
    684741        }
    685742      } /* for */
     743    kTest(strat);
    686744      for(i=0;i<IDELEMS(fac);i++) fac->m[i]=NULL;
    687745      idDelete(&fac);
  • Singular/kutil.cc

    r09d74fe r15d7992  
    22*  Computer Algebra System SINGULAR     *
    33****************************************/
    4 /* $Id: kutil.cc,v 1.47 1999-10-27 15:08:20 obachman Exp $ */
     4/* $Id: kutil.cc,v 1.48 1999-11-02 17:15:31 Singular Exp $ */
    55/*
    66* ABSTRACT: kernel: utils for kStd
     
    479479        if (i < 0)
    480480        {
    481           //if (strat->next!=NULL)
    482           //{
    483           //  strat=strat->next;
    484           //  i=strat->tl;
    485           //}
    486           //else
     481          if (strat->next!=NULL)
     482          {
     483            strat=strat->next;
     484            i=strat->tl;
     485          }
     486          else
    487487          {
    488488            /* not found : */
Note: See TracChangeset for help on using the changeset viewer.