Changeset 4d5a3e in git for kernel/GBEngine/kstd2.cc


Ignore:
Timestamp:
Jul 7, 2015, 12:25:58 PM (9 years ago)
Author:
Adi Popescu <adi_popescum@…>
Branches:
(u'fieker-DuVal', '117eb8c30fc9e991c4decca4832b1d19036c4c65')(u'spielwiese', 'fc741b6502fd8a97288eaa3eba6e5220f3c3df87')
Children:
d762df9ec71d7bdcea2d647c0b3cc592a7eb400d
Parents:
a3cc8cd70b17cd2ed9977b0fa133d5c0ff42850c
Message:
add: ADIDEBUG output in bba
fix: kFindDivisibleByInT and kFindDivisibleByInS
File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/GBEngine/kstd2.cc

    ra3cc8cd r4d5a3e  
    7272 * SBA stuff -- done
    7373***********************************************/
     74#define ADIDEBUG 0
     75#define ADIDEBUG_COUNT 0
    7476
    7577#include <kernel/GBEngine/kutil.h>
     
    117119      if (j > strat->tl) return -1;
    118120#if defined(PDEBUG) || defined(PDIV_DEBUG)
    119       if (p_LmShortDivisibleBy(T[j].p, sevT[j],
    120                                p, not_sev, r))
    121         return j;
     121      if (p_LmShortDivisibleBy(T[j].p, sevT[j],p, not_sev, r))
     122        {
     123#ifdef HAVE_RINGS
     124            if(rField_is_Ring(r))
     125                {if(n_DivBy(pGetCoeff(p), pGetCoeff(T[j].p), r))
     126                    return j;}
     127            else {
     128                return j;
     129                }
     130#else
     131            return j;
     132#endif
     133
     134        }
    122135#else
    123136      if (!(sevT[j] & not_sev) &&
    124137          p_LmDivisibleBy(T[j].p, p, r))
    125         return j;
     138        {
     139#ifdef HAVE_RINGS
     140            if(rField_is_Ring(r))
     141                {if(n_DivBy(pGetCoeff(p), pGetCoeff(T[j].p), r))
     142                    return j;}
     143            else {
     144                return j;
     145                }
     146#else
     147            return j;
     148#endif
     149           
     150        }
    126151#endif
    127152      j++;
     
    138163      if (p_LmShortDivisibleBy(T[j].t_p, sevT[j],
    139164                               p, not_sev, r))
    140         return j;
     165        {
     166#ifdef HAVE_RINGS
     167            if(rField_is_Ring(r))
     168                {if(n_DivBy(pGetCoeff(p), pGetCoeff(T[j].t_p), r))
     169                    return j;}
     170            else {
     171                return j;
     172            }
     173#else
     174            return j;
     175#endif
     176
     177        }
    141178#else
    142179      if (!(sevT[j] & not_sev) &&
    143180          p_LmDivisibleBy(T[j].t_p, p, r))
    144         return j;
     181        {
     182#ifdef HAVE_RINGS
     183            if(rField_is_Ring(r))
     184                {if(n_DivBy(pGetCoeff(p), pGetCoeff(T[j].t_p), r))
     185                    return j;}
     186            else {
     187                return j;
     188            }
     189#else
     190            return j;
     191#endif
     192
     193        }
    145194#endif
    146195      j++;
     
    172221    if (p_LmShortDivisibleBy(strat->S[j], strat->sevS[j],
    173222                             p, not_sev, currRing))
    174         return j;
     223        {
     224#ifdef HAVE_RINGS
     225            if(rField_is_Ring(currRing))
     226                {if(n_DivBy(pGetCoeff(p), pGetCoeff(strat->S[j]), currRing))
     227                    return j;}
     228            else
     229#endif
     230            return j;
     231        }
    175232#else
    176233    if ( !(strat->sevS[j] & not_sev) &&
    177234         p_LmDivisibleBy(strat->S[j], p, currRing))
    178       return j;
     235        {
     236#ifdef HAVE_RINGS
     237            if(rField_is_Ring(currRing))
     238                {if(n_DivBy(pGetCoeff(p), pGetCoeff(strat->S[j]), currRing))
     239                    return j;}
     240            else
     241#endif
     242            return j;
     243        }
    179244#endif
    180245    j++;
     
    200265    if (p_LmShortDivisibleBy(strat->S[j], strat->sevS[j],
    201266                             p, not_sev, currRing))
    202         return j;
     267        {
     268#ifdef HAVE_RINGS
     269            if(rField_is_Ring(currRing))
     270                {if(n_DivBy(pGetCoeff(p), pGetCoeff(strat->S[j]), currRing))
     271                    return j;}
     272            else
     273#endif
     274            return j;
     275        }
    203276#else
    204277    if ( !(strat->sevS[j] & not_sev) &&
    205278         p_LmDivisibleBy(strat->S[j], p, currRing))
    206       return j;
     279        {
     280#ifdef HAVE_RINGS
     281            if(rField_is_Ring(currRing))
     282                {if(n_DivBy(pGetCoeff(p), pGetCoeff(strat->S[j]), currRing))
     283                    return j;}
     284            else
     285#endif
     286            return j;
     287        }
    207288#endif
    208289    j++;
     
    14141495  while (strat->Ll >= 0)
    14151496  {
     1497    #if ADIDEBUG
     1498    printf("\n      ------------------------NEW LOOP\n");
     1499    printf("\nShdl = \n");
     1500    #if 0
     1501    idPrint(strat->Shdl);
     1502    #else
     1503    for(int ii = 0; ii<=strat->sl;ii++)
     1504        p_Write(strat->S[ii],strat->tailRing);
     1505    #endif
     1506    printf("\n   list   L\n");
     1507    int iii;
     1508    #if 1
     1509    for(iii = 0; iii<= strat->Ll; iii++)
     1510    {
     1511        printf("L[%i]:",iii);
     1512        p_Write(strat->L[iii].p, /*strat->tailRing*/currRing);
     1513        p_Write(strat->L[iii].p1, /*strat->tailRing*/currRing);
     1514        p_Write(strat->L[iii].p2, strat->tailRing);
     1515    }
     1516    #else
     1517    {
     1518        printf("L[%i]:",strat->Ll);
     1519        p_Write(strat->L[strat->Ll].p, strat->tailRing);
     1520        p_Write(strat->L[strat->Ll].p1, strat->tailRing);
     1521        p_Write(strat->L[strat->Ll].p2, strat->tailRing);
     1522    }
     1523    #endif
     1524    #if 1
     1525    for(iii = 0; iii<= strat->Bl; iii++)
     1526    {
     1527        printf("B[%i]:",iii);
     1528        p_Write(strat->B[iii].p, /*strat->tailRing*/currRing);
     1529        p_Write(strat->B[iii].p1, /*strat->tailRing*/currRing);
     1530        p_Write(strat->B[iii].p2, strat->tailRing);
     1531    }
     1532    #endif
     1533    //getchar();
     1534    #endif
    14161535    #ifdef KDEBUG
    14171536      if (TEST_OPT_DEBUG) messageSets(strat);
     
    14881607
    14891608      /* reduction of the element chosen from L */
     1609      #if ADIDEBUG
     1610      printf("\nBefore \n");pWrite(strat->P.p);
     1611      #endif
    14901612      red_result = strat->red(&strat->P,strat);
     1613      #if ADIDEBUG
     1614      printf("\nAfter \n");pWrite(strat->P.p);
     1615      #endif
    14911616      if (errorreported)  break;
    14921617    }
     
    15761701          enterpairs(strat->P.p,strat->sl,strat->P.ecart,pos,strat, strat->tl);
    15771702        // posInS only depends on the leading term
     1703        #if ADIDEBUG
     1704        printf("\nThis element is added to S\n");
     1705        p_Write(strat->P.p, strat->tailRing);p_Write(strat->P.p1, strat->tailRing);p_Write(strat->P.p2, strat->tailRing);
     1706        #endif
    15781707        strat->enterS(strat->P, pos, strat, strat->tl);
    15791708#if 0
     
    16741803    }
    16751804#endif
     1805    #ifdef HAVE_RINGS
     1806    if(nCoeff_is_Ring_Z(currRing->cf))
     1807      finalReduceByMon(strat);
     1808    #endif
    16761809  }
    16771810  else if (TEST_OPT_PROT) PrintLn();
    1678 
    16791811  /* release temp data-------------------------------- */
    16801812  exitBuchMora(strat);
Note: See TracChangeset for help on using the changeset viewer.