Changeset 8261b2 in git


Ignore:
Timestamp:
Apr 13, 2011, 10:18:12 AM (12 years ago)
Author:
Hans Schoenemann <hannes@…>
Branches:
(u'jengelh-datetime', 'ceac47cbc86fe4a15902392bdbb9bd2ae0ea02c6')(u'spielwiese', 'a800fe4b3e9d37a38c5a10cc0ae9dfa0c15a4ee6')
Children:
0de6e1093986e174906e1c4e41627b5296140eab
Parents:
892ad2199fe15455a25b8560ed0ffd6016328f34
Message:
rCheckOrdSgn, fix for tr. 335, Buch/Example_1_9_22

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

Legend:

Unmodified
Added
Removed
  • kernel/ring.cc

    r892ad21 r8261b2  
    34823482}
    34833483
     3484static void rCheckOrdSgn(ring r,int i/*current block*/);
     3485
    34843486BOOLEAN rComplete(ring r, int force)
    34853487{
     
    35633565        rO_LexVars_neg(j, j_bits, r->block0[i],r->block1[i], prev_ordsgn,
    35643566                       tmp_ordsgn,v, bits, -1);
    3565         r->OrdSgn=-1;
     3567        rCheckOrdSgn(r,i);
    35663568        break;
    35673569
     
    35693571        rO_LexVars_neg(j, j_bits, r->block1[i],r->block0[i], prev_ordsgn,
    35703572                       tmp_ordsgn,v, bits, -1);
    3571         r->OrdSgn=-1;
     3573        rCheckOrdSgn(r,i);
    35723574        break;
    35733575
     
    36233625                         prev_ordsgn,tmp_ordsgn,v,bits, r->block0[i]);
    36243626        }
    3625         r->OrdSgn=-1;
     3627        rCheckOrdSgn(r,i);
    36263628        break;
    36273629
     
    36403642                     tmp_ordsgn,v, bits, r->block1[i]);
    36413643        }
    3642         r->OrdSgn=-1;
     3644        rCheckOrdSgn(r,i);
    36433645        break;
    36443646
     
    36733675        typ_i++;
    36743676        { // check for weights <=0
    3675           int j;
     3677          int jj;
    36763678          BOOLEAN have_bad_weights=FALSE;
    3677           for(j=r->block1[i]-r->block0[i];j>=0; j--)
     3679          for(jj=r->block1[i]-r->block0[i];jj>=0; jj--)
    36783680          {
    3679             if (r->wvhdl[i][j]<=0) have_bad_weights=TRUE;
     3681            if (r->wvhdl[i][jj]<=0) have_bad_weights=TRUE;
    36803682          }
    36813683          if (have_bad_weights)
     
    37023704                         tmp_ordsgn, v,bits, r->block0[i]);
    37033705        }
    3704         r->OrdSgn=-1;
     3706        rCheckOrdSgn(r,i);
    37053707        break;
    37063708
     
    37143716                     tmp_ordsgn,v, bits, r->block1[i]);
    37153717        }
    3716         r->OrdSgn=-1;
     3718        rCheckOrdSgn(r,i);
    37173719        break;
    37183720
     
    38753877  p_ProcsSet(r, r->p_Procs);
    38763878  return FALSE;
     3879}
     3880
     3881static void rCheckOrdSgn(ring r,int i/*current block*/)
     3882{ // set r->OrdSgn
     3883  int oo=-1;
     3884  int jj;
     3885  for(jj=i-1;jj>=0;jj--)
     3886  {
     3887    if(((r->order[jj]=ringorder_a)
     3888      ||(r->order[jj]=ringorder_aa)
     3889      ||(r->order[jj]=ringorder_a64))
     3890    &&(r->block0[jj]<=r->block0[i])
     3891    &&(r->block1[jj]>=r->block1[i]))
     3892    { oo=1; break;}
     3893  }
     3894  r->OrdSgn=oo;
    38773895}
    38783896
Note: See TracChangeset for help on using the changeset viewer.