Changeset 349e5e8 in git for kernel


Ignore:
Timestamp:
Oct 6, 2016, 12:08:21 PM (8 years ago)
Author:
Hans Schoenemann <hannes@…>
Branches:
(u'fieker-DuVal', '117eb8c30fc9e991c4decca4832b1d19036c4c65')(u'spielwiese', '38dfc5131670d387a89455159ed1e071997eec94')
Children:
897e2e43913ec1dc7066b12c83a53cc2690728c0
Parents:
7bb1ac4627f442f9075c2c48d08a79705295f950
Message:
fix: overflow check in std, p2: kInterRed (and similiar): fix tr.#774
Location:
kernel/GBEngine
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • kernel/GBEngine/kspoly.cc

    r7bb1ac r349e5e8  
    103103  p_ExpVectorSub(lm, p2, tailRing); // Calculate the Monomial we must multiply to p2
    104104
    105   if (tailRing != currRing)
     105  //if (tailRing != currRing)
    106106  {
    107107    // check that reduction does not violate exp bound
  • kernel/GBEngine/kstd1.cc

    r7bb1ac r349e5e8  
    34933493  {
    34943494    completeReduce(strat);
    3495 #ifdef HAVE_TAIL_RING
    34963495    if (strat->completeReduce_retry)
    34973496    {
     
    35033502      for(i=strat->sl;i>=0;i--) strat->S_2_R[i]=-1;
    35043503      completeReduce(strat);
    3505     }
    3506 #endif
     3504      if (strat->completeReduce_retry)
     3505      {
     3506        // completeReduce needed larger exponents, retry
     3507        // to reduce with S (instead of T)
     3508        // and in currRing (instead of strat->tailRing)
     3509#ifdef HAVE_TAIL_RING
     3510        if(currRing->bitmask>strat->tailRing->bitmask)
     3511        {
     3512          strat->completeReduce_retry=FALSE;
     3513          cleanT(strat);strat->tailRing=currRing;
     3514          int i;
     3515          for(i=strat->sl;i>=0;i--) strat->S_2_R[i]=-1;
     3516          completeReduce(strat);
     3517        }
     3518        if (strat->completeReduce_retry)
     3519#endif
     3520          Werror("exponent bound is %ld",currRing->bitmask);
     3521      }
     3522    }
    35073523  }
    35083524  else if (TEST_OPT_PROT) PrintLn();
     3525
    35093526
    35103527  /* release temp data-------------------------------- */
  • kernel/GBEngine/kstd2.cc

    r7bb1ac r349e5e8  
    32093209  {
    32103210    completeReduce(strat);
    3211 #ifdef HAVE_TAIL_RING
    32123211    if (strat->completeReduce_retry)
    32133212    {
     
    32153214      // to reduce with S (instead of T)
    32163215      // and in currRing (instead of strat->tailRing)
    3217       cleanT(strat);strat->tailRing=currRing;
    3218       int i;
    3219       for(i=strat->sl;i>=0;i--) strat->S_2_R[i]=-1;
    3220       completeReduce(strat);
    3221     }
    3222 #endif
     3216#ifdef HAVE_TAIL_RING
     3217      if(currRing->bitmask>strat->tailRing->bitmask)
     3218      {
     3219        strat->completeReduce_retry=FALSE;
     3220        cleanT(strat);strat->tailRing=currRing;
     3221        int i;
     3222        for(i=strat->sl;i>=0;i--) strat->S_2_R[i]=-1;
     3223        completeReduce(strat);
     3224      }
     3225      if (strat->completeReduce_retry)
     3226#endif
     3227        Werror("exponent bound is %ld",currRing->bitmask);
     3228    }
    32233229  }
    32243230  else if (TEST_OPT_PROT) PrintLn();
     
    43064312      // to reduce with S (instead of T)
    43074313      // and in currRing (instead of strat->tailRing)
    4308       cleanT(strat);strat->tailRing=currRing;
    4309       int i;
    4310       for(i=strat->sl;i>=0;i--) strat->S_2_R[i]=-1;
    4311       completeReduce(strat, TRUE);
     4314#ifdef HAVE_TAIL_RING
     4315      if(currRing->bitmask>strat->tailRing->bitmask)
     4316      {
     4317        strat->completeReduce_retry=FALSE;
     4318        cleanT(strat);strat->tailRing=currRing;
     4319        int i;
     4320        for(i=strat->sl;i>=0;i--) strat->S_2_R[i]=-1;
     4321        completeReduce(strat);
     4322      }
     4323      if (strat->completeReduce_retry)
     4324#endif
     4325        Werror("exponent bound is %ld",currRing->bitmask);
    43124326    }
    43134327  }
Note: See TracChangeset for help on using the changeset viewer.