Changeset 9b3700 in git


Ignore:
Timestamp:
Jul 20, 2011, 4:46:43 PM (13 years ago)
Author:
mlee <martinlee84@…>
Branches:
(u'spielwiese', 'fe61d9c35bf7c61f2b6cbf1b56e25e2f08d536cc')
Children:
48cf05bb3d2a2234c35b5e4f732668df3b3df5c8
Parents:
2cbef915697324ddbff28f775df52a7ee954c3ad
git-author:
mlee <martinlee84@web.de>2011-07-20 16:46:43+02:00
git-committer:
Mohamed Barakat <mohamed.barakat@rwth-aachen.de>2011-11-09 12:52:44+01:00
Message:
added n_ExtGcd, n_IntMod and n_DivComp to coeffs.h
added currRing, currRing->cf at appropiate places in kutil.cc
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • kernel/kutil.cc

    r2cbef9 r9b3700  
    1212#include <stdlib.h>
    1313#include <string.h>
    14 #include <kernel/mod2.h>
     14#include "mod2.h"
    1515
    1616#ifndef NDEBUG
     
    322322  poly h;
    323323
    324   if(rHasGlobalOrdering_currRing()) return;
     324  if(rHasGlobalOrdering (currRing)) return;
    325325  if(TEST_OPT_CANCELUNIT) return;
    326326
     
    10581058  Lp->FDeg = Lp->pFDeg();
    10591059  (*Lp).ecart = si_max(ecartF,ecartG);
    1060   (*Lp).ecart = (*Lp).ecart- (Lp->FDeg -pFDeg((*Lp).lcm,currRing));
     1060  (*Lp).ecart = (*Lp).ecart- (Lp->FDeg -p_FDeg((*Lp).lcm,currRing));
    10611061  (*Lp).length = 0;
    10621062}
     
    10861086  /*- computes the lcm(s[i],p) -*/
    10871087  Lp.lcm = pInit();
    1088   pSetCoeff0(Lp.lcm, nLcm(pGetCoeff(p), pGetCoeff(strat->S[i]), currRing));
     1088  pSetCoeff0(Lp.lcm, n_Lcm(pGetCoeff(p), pGetCoeff(strat->S[i]), currRing->cf));
    10891089  // Lp.lcm == 0
    10901090  if (nIsZero(pGetCoeff(Lp.lcm)))
     
    11091109  pSetm(Lp.lcm);
    11101110  assume(!strat->sugarCrit);
    1111   if (pHasNotCF(p,strat->S[i]) && nIsUnit(pGetCoeff(p)) && nIsUnit(pGetCoeff(strat->S[i])))
     1111  if (pHasNotCF(p,strat->S[i]) && n_IsUnit(pGetCoeff(p),currRing->cf)
     1112      && n_IsUnit(pGetCoeff(strat->S[i]),currRing->cf))
    11121113  {
    11131114#ifdef KDEBUG
     
    11361137  {
    11371138    compare=pDivCompRing(strat->B[j].lcm,Lp.lcm);
    1138     compareCoeff = nDivComp(pGetCoeff(strat->B[j].lcm), pGetCoeff(Lp.lcm));
     1139    compareCoeff = n_DivComp(pGetCoeff(strat->B[j].lcm), pGetCoeff(Lp.lcm), currRing->cf);
    11391140    if (compareCoeff == pDivComp_EQUAL || compare == compareCoeff)
    11401141    {
     
    13011302  poly m1, m2, gcd;
    13021303
    1303   d = nExtGcd(pGetCoeff(p), pGetCoeff(strat->S[i]), &s, &t);
     1304  d = n_ExtGcd(pGetCoeff(p), pGetCoeff(strat->S[i]), &s, &t, currRing->cf);
    13041305
    13051306  if (nIsZero(s) || nIsZero(t))  // evtl. durch divBy tests ersetzen
     
    23932394  for (j=strat->Ll; j>=0; j--)
    23942395  {
    2395     if (strat->L[j].lcm != NULL && nDivBy(pGetCoeff(strat->L[j].lcm), pGetCoeff(p)))
     2396    if (strat->L[j].lcm != NULL && n_DivBy(pGetCoeff(strat->L[j].lcm), pGetCoeff(p), currRing->cf))
    23962397    {
    23972398      if (pCompareChain(p,strat->L[j].p1,strat->L[j].p2,strat->L[j].lcm))
     
    24462447        if (i < 0)  break;
    24472448        // Element is from B and has the same lcm as L[j]
    2448         if ((strat->L[i].p2 == p) && nDivBy(pGetCoeff(strat->L[j].lcm), pGetCoeff(strat->L[i].lcm))
     2449        if ((strat->L[i].p2 == p) && n_DivBy(pGetCoeff(strat->L[j].lcm), pGetCoeff(strat->L[i].lcm), currRing->cf)
    24492450             && pLmEqual(strat->L[j].lcm,strat->L[i].lcm))
    24502451        {
     
    29522953  number gcd;
    29532954  bool go = false;
    2954   if (nDivBy((number) 0, pGetCoeff(h)))
     2955  if (n_DivBy((number) 0, pGetCoeff(h), currRing->cf))
    29552956  {
    29562957    gcd = nIntDiv((number) 0, pGetCoeff(h));
     
    32743275          if (cmp == cmp_int)  return an;
    32753276          if (cmp == -cmp_int) return en;
    3276           if (nDivBy(pGetCoeff(p), pGetCoeff(set[an]))) return en;
     3277          if (n_DivBy(pGetCoeff(p), pGetCoeff(set[an]), currRing->cf)) return en;
    32773278          return an;
    32783279        }
     
    32833284        else
    32843285        {
    3285           if (nDivBy(pGetCoeff(p), pGetCoeff(set[i]))) an = i;
     3286          if (n_DivBy(pGetCoeff(p), pGetCoeff(set[i]), currRing->cf)) an = i;
    32863287          else en = i;
    32873288        }
     
    46564657      poly p_Ln=Ln.GetLmCurrRing();
    46574658      poly p_With=With->GetLmCurrRing();
    4658       number z=nIntMod(pGetCoeff(p_Ln),pGetCoeff(p_With));
     4659      number z=n_IntMod(pGetCoeff(p_Ln),pGetCoeff(p_With), currRing->cf);
    46594660      if (!nIsZero(z))
    46604661      {
     
    49174918  if ((strat->sl>=0)
    49184919#ifdef HAVE_RINGS
    4919        && nIsUnit(pGetCoeff(strat->S[0]))
     4920       && n_IsUnit(pGetCoeff(strat->S[0]),currRing->cf)
    49204921#endif
    49214922       && pIsConstant(strat->S[0]))
     
    50165017  if ((strat->Ll>=0)
    50175018#ifdef HAVE_RINGS
    5018        && nIsUnit(pGetCoeff(strat->L[strat->Ll].p))
     5019       && n_IsUnit(pGetCoeff(strat->L[strat->Ll].p), currRing->cf)
    50195020#endif
    50205021       && pIsConstant(strat->L[strat->Ll].p))
     
    53095310  if (maxIndex >= 0)
    53105311  {
    5311     e = pLDeg(h,&l,currRing)-pFDeg(h,currRing);
     5312    e = pLDeg(h,&l,currRing)-p_FDeg(h,currRing);
    53125313    do
    53135314    {
     
    53265327        // pDelete(&h);
    53275328        if (h == NULL) return NULL;
    5328         e = pLDeg(h,&l,currRing)-pFDeg(h,currRing);
     5329        e = pLDeg(h,&l,currRing)-p_FDeg(h,currRing);
    53295330        j = 0;
    53305331        not_sev = ~ pGetShortExpVector(h);
     
    62416242  /* compare old and new noether*/
    62426243  newNoether = pLmInit(strat->kHEdge);
    6243   j = pFDeg(newNoether,currRing);
     6244  j = p_FDeg(newNoether,currRing);
    62446245  for (i=1; i<=(currRing->N); i++)
    62456246  {
     
    63506351                                  // might be too strong
    63516352#ifdef HAVE_RINGS
    6352                                   (strat->homog && pFDeg == pDeg && !(rField_is_Ring(currRing))), // TODO Oliver
     6353                                  (strat->homog && currRing->pFDeg == pDeg && !(rField_is_Ring(currRing))), // TODO Oliver
    63536354#else
    63546355                                  (strat->homog && pFDeg == pDeg), // omit_degree
     
    64866487  tailBin = omGetStickyBinOfBin(currRing->PolyBin);
    64876488#endif
    6488   pOrigFDeg = pFDeg;
     6489  pOrigFDeg = currRing->pFDeg;
    64896490  pOrigLDeg = pLDeg;
    64906491}
     
    65066507  if (currRing != tailRing)
    65076508    rKillModifiedRing(tailRing);
    6508   pRestoreDegProcs(pOrigFDeg, pOrigLDeg);
     6509  pRestoreDegProcs(currRing,pOrigFDeg, pOrigLDeg);
    65096510}
    65106511
     
    67556756    else if (strat->tailRing->pLDeg==pLDeg1c_WFirstTotalDegree) PrintS("pLDeg1c_WFirstTotalDegree");
    67566757    else Print("? (%lx)", (long)strat->tailRing->pLDeg);
    6757     Print(" syzring:%d, syzComp(strat):%d syzComb(ring)\n",rIsSyzIndexRing(currRing),strat->syzComp,rGetCurrSyzLimit());
     6758    Print(" syzring:%d, syzComp(strat):%d syzComb(ring)\n",rIsSyzIndexRing(currRing),strat->syzComp,rGetCurrSyzLimit(currRing));
    67586759    if(TEST_OPT_DEGBOUND)
    67596760      Print(" degBound: %d\n", Kstd1_deg);
  • libpolys/coeffs/coeffs.h

    r2cbef9 r9b3700  
    342342{ assume(r != NULL); assume(r->cfIsUnit!=NULL); return r->cfIsUnit(n,r); }
    343343
     344static inline number n_ExtGcd(number a, number b, number *s, number *t, const coeffs r)
     345{ assume(r != NULL); assume(r->cfExtGcd!=NULL); return r->cfExtGcd (a,b,s,t,r); }
     346
     347static inline int n_DivComp(number a, number b, const coeffs r)
     348{ assume(r != NULL); assume(r->cfDivComp!=NULL); return r->cfDivComp (a,b,r); }
     349
    344350/// in Z: 1
    345351/// in Z/kZ (where k is not a prime): largest divisor of n (taken in Z) that
     
    443449{ assume(r != NULL); assume(r->cfIntDiv!=NULL); return r->cfIntDiv(a,b,r); }
    444450
     451static inline number n_IntMod(number a, number b, const coeffs r)
     452{ assume(r != NULL); assume(r->cfIntMod!=NULL); return r->cfIntMod(a,b,r); }
    445453/// @todo: Describe me!!!
    446454///
Note: See TracChangeset for help on using the changeset viewer.