Changeset 3ffb5ca in git


Ignore:
Timestamp:
Jul 7, 2015, 10:55:00 AM (8 years ago)
Author:
Adi Popescu <adi_popescum@…>
Branches:
(u'spielwiese', '8e0ad00ce244dfd0756200662572aef8402f13d5')
Children:
109e3852c9d0639f602e39af1b0a257f9a8ca393
Parents:
f7db368ef3daa8460f1028b27a4fdeb1735ae164
Message:
fix: redRiloc (red for local and mixed ord rings)
File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/GBEngine/kstd1.cc

    rf7db36 r3ffb5ca  
    369369  PrintS("    The actual reducer T is: ");
    370370  if(strat->tl<0)
    371     {PrintS(" Empty.\n");
     371    {PrintS(" Empty.\n");}
    372372  else
    373   for (iii=0;iii<=strat->tl;iii++)
    374   {
    375     PrintLn();
    376     Print("      T[%i] = ",iii);p_Write(strat->T[iii].p,strat->tailRing);
    377     PrintLn();
     373  {
     374    for (iii=0;iii<=strat->tl;iii++)
     375    {
     376      PrintLn();
     377      Print("      T[%i] = ",iii);p_Write(strat->T[iii].p,strat->tailRing);
     378      PrintLn();
     379    }
    378380  }
    379381#endif /* ADIDEBUG_NF */
     
    404406    {
    405407      if (strat->honey) h->SetLength(strat->length_pLength);
     408      // over ZZ: cleanup coefficients by complete reduction with monomials
     409      postReduceByMon(h, strat);
     410      if(nIsZero(pGetCoeff(h->p)) || h->p == NULL) return 2;
     411      if(strat->tl >= 0)
     412          h->i_r1 = strat->tl;
     413      else
     414          h->i_r1 = -1;
     415      if (h->GetLmTailRing() == NULL)
     416      {
     417        if (h->lcm!=NULL) pLmDelete(h->lcm);
     418        h->Clear();
     419        return 0;
     420      }
    406421      return 1;
    407422    }
     
    428443                                        strat->T[i].length < li))
    429444            &&
    430             p_LmShortDivisibleBy(strat->T[i].GetLmTailRing(), strat->sevT[i], h->GetLmTailRing(), ~h->sev, strat->tailRing))
     445            p_LmShortDivisibleBy(strat->T[i].GetLmTailRing(), strat->sevT[i], h->GetLmTailRing(), ~h->sev, strat->tailRing) && n_DivBy(h->p->coef,strat->T[i].p->coef,strat->tailRing))
    431446#else
    432447          j = kFindDivisibleByInT(strat, h, i);
     
    473488        assume(h->FDeg == h->pFDeg());
    474489        at = strat->posInL(strat->L,strat->Ll,h,strat);
    475         if (at <= strat->Ll)
     490        if (at <= strat->Ll && pLmCmp(h->p, strat->L[strat->Ll].p) != 0 && !nEqual(h->p->coef, strat->L[strat->Ll].p->coef))
    476491        {
    477492          /*- h will not become the next element to reduce -*/
Note: See TracChangeset for help on using the changeset viewer.