Changeset 10d1b7 in git


Ignore:
Timestamp:
Sep 6, 2004, 6:45:28 PM (20 years ago)
Author:
Michael Brickenstein <bricken@…>
Branches:
(u'spielwiese', 'fe61d9c35bf7c61f2b6cbf1b56e25e2f08d536cc')
Children:
c4063dbdf6b17b78950a97b3b6996bb01fd18202
Parents:
db427bfff5c3de62ca7d93f403e9b7349b088118
Message:
+ made find_in_S deterministic during multi_reduction


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

Legend:

Unmodified
Added
Removed
  • Singular/tgb.cc

    rdb427b r10d1b7  
    409409    pNorm(P.p);
    410410 
    411  
     411
    412412  c->strat->enterS(P,i,c->strat);
    413413 
     
    903903
    904904  add_to_reductors(c, h, c->lengths[c->n-1]);
    905   //i=posInS(c->strat,c->strat->sl,h,0 /*ecart*/);
     905  //i=posInS(c->strat,c->strat->sl,h,0 ecart);
    906906
    907907  if (c->lengths[c->n-1]==1)
     
    14511451  qsort(buf,i,sizeof(red_object),red_object_better_gen);
    14521452//    Print("\ncurr_deg:%i\n",curr_deg);
    1453   Print("M[%i, ",i); 
     1453  Print("M[%i, ",i);
     1454  c->modifiedS=(BOOLEAN*) omalloc((c->strat->sl+1)*sizeof(BOOLEAN));
     1455  c->expandS=(poly*) omalloc((1)*sizeof(poly));
     1456  c->expandS[0]=NULL;
     1457  int z2;
     1458  for(z2=0;z2<=c->strat->sl;z2++)
     1459    c->modifiedS[z2]=FALSE;
    14541460  multi_reduction(buf, i, c);
     1461
     1462  //resort S
     1463
     1464  for(z2=0;z2<=c->strat->sl;z2++)
     1465    {
     1466      if (c->modifiedS[z2])
     1467        {
     1468          int qal;
     1469          if (c->strat->lenSw)
     1470            qal=c->strat->lenSw[z2];
     1471          else
     1472            qal=c->strat->lenS[z2];
     1473          int new_pos=simple_posInS(c->strat,c->strat->S[z2],qal,c->is_char0);
     1474          if (new_pos<z2)
     1475            {
     1476              move_forward_in_S(z2,new_pos,c->strat,c->is_char0);
     1477            }
     1478        }
     1479    }
     1480  for(z2=0;c->expandS[z2];z2++)
     1481    add_to_reductors(c,c->expandS[z2],pLength(c->expandS[z2]));
     1482  omfree(c->modifiedS);
     1483  c->modifiedS=NULL;
     1484  omfree(c->expandS);
     1485  c->expandS=NULL;
    14551486  Print("%i]",i);
    14561487 //  for(j=0;j<i;j++){
     
    24212452  else                     
    24222453    pNorm(clear_into);
    2423     if (new_pos<j){
    2424       move_forward_in_S(j,new_pos,c->strat,c->is_char0);
    2425       erg.reduce_by=new_pos;
    2426     }
     2454    erg.reduce_by=j;
     2455    //resort later see diploma thesis, find_in_S must be deterministic during multireduction
     2456    //   if (new_pos<j){
     2457    //  move_forward_in_S(j,new_pos,c->strat,c->is_char0);
     2458    // erg.reduce_by=new_pos;
     2459    //}
    24272460  }
    24282461}
     
    26432676    //  qsort(los,losl,sizeof(red_object),red_object_better_gen);
    26442677    if(erg.expand)
    2645       add_to_reductors(c,erg.expand,erg.expand_length);
     2678      {
     2679        int i;
     2680        for(i=0;c->expandS[i];i++);
     2681        c->expandS=(poly*) omrealloc(c->expandS,(i+2)*sizeof(poly));
     2682        c->expandS[i+1]=NULL;
     2683      }
     2684      //      add_to_reductors(c,erg.expand,erg.expand_length);
    26462685  }
    26472686  return;
  • Singular/tgb.h

    rdb427b r10d1b7  
    9292  kStrategy strat;
    9393  int* T_deg;
     94  poly* expandS;
    9495  poly* gcd_of_terms;
    9596  int_pair_node* soon_free;
    9697  sorted_pair_node** apairs;
     98  BOOLEAN* modifiedS;
    9799#ifdef HEAD_BIN
    98100  struct omBin_s*   HeadBin;
Note: See TracChangeset for help on using the changeset viewer.