Changeset 493225 in git


Ignore:
Timestamp:
Dec 8, 2009, 7:11:06 PM (14 years ago)
Author:
Hans Schönemann <hannes@…>
Branches:
(u'spielwiese', '5b153614cbc72bfa198d75b1e9e33dab2645d9fe')
Children:
32c11ff616c40bb7c3d5c756479b0507e505f330
Parents:
42660f97810c6af10af57af395d99b9a04bb8dad
Message:
nWrite indep. from currRing

git-svn-id: file:///usr/local/Singular/svn/trunk@12377 2c84dea3-7e68-4137-9b89-c4e89433aadc
Files:
30 edited

Legend:

Unmodified
Added
Removed
  • Singular/scanner.cc

    r42660f r493225  
    13281328                           #ifdef OM_TRACK
    13291329                           #ifndef NDEBUG
    1330                              omPrintUsedTrackAddrs(stdout, 1);
     1330                             omPrintUsedTrackAddrs(stdout, 10);
    13311331                           #endif
    13321332                           #endif
  • Singular/subexpr.cc

    r42660f r493225  
    692692          StringSetS((char*) (typed ? "bigint(" : ""));
    693693          number nl=(number)d;
    694           nlWrite(nl);
     694          nlWrite(nl,NULL);
    695695          s = StringAppendS((char*) (typed ? ")" : ""));
    696696          return omStrDup(s);
  • factory/fac_multivar.cc

    r42660f r493225  
    157157      {
    158158        find_good_prime(i.coeff(),start);
     159        if (0==cf_getSmallPrime(start)) return;
    159160        if((i.exp()!=0) && ((i.exp() % cf_getSmallPrime(start))==0))
    160161        {
     
    171172    if (f.inZ())
    172173    {
    173       while((f!=0) && (mod(f,cf_getSmallPrime(start))==0))
     174      if (0==cf_getSmallPrime(start)) return;
     175      while((!f.isZero()) && (mod(f,cf_getSmallPrime(start))==0))
    174176      {
    175177        start++;
     178        if (0==cf_getSmallPrime(start)) return;
    176179      }
    177180    }
     
    266269          int p=cf_getSmallPrime(i);
    267270          //printf("found:p=%d (%d)\n",p,i);
    268           if ((i==0)||(i!=prime_number))
     271          if (p==0)
     272          {
     273            printf("out of primes - switch ot non-NTL\n");
     274            // non-NTL stuff
     275             b = coeffBound( U, getZFacModulus().getp() );
     276             if ( getZFacModulus().getpk() > b.getpk() )
     277                b = getZFacModulus();
     278          }
     279          else if (((i==0)||(i!=prime_number)))
    269280          {
    270281            b = coeffBound( U, p );
    271282            prime_number=i;
    272283          }
    273           modpk bb=coeffBound(U0,p);
    274           if (bb.getk() > b.getk() ) b=bb;
    275           bb=coeffBound(arg,p);
    276           if (bb.getk() > b.getk() ) b=bb;
     284          if (p!=0)
     285          {
     286            modpk bb=coeffBound(U0,p);
     287            if (bb.getk() > b.getk() ) b=bb;
     288            bb=coeffBound(arg,p);
     289            if (bb.getk() > b.getk() ) b=bb;
     290          }
    277291        }
    278292        #else
  • kernel/ffields.cc

    r42660f r493225  
    2121static int nfCharQ1=0; /* q-1 */
    2222CARDINAL *nfPlus1Table=NULL; /* the table i=log(z^i) -> log(z^i+1) */
    23 char * nfParameter;          /*  the name of the primitive element */
    2423/* the q's from the table 'fftable' */
    2524unsigned short fftable[]={
     
    381380* write via StringAppend
    382381*/
    383 void nfWrite (number &a)
     382void nfWrite (number &a, const ring r)
    384383{
    385384#ifdef LDEBUG
     
    391390  else
    392391  {
    393     StringAppendS(nfParameter);
     392    StringAppendS(r->parameter[0]);
    394393    if ((long)a!=1L)
    395394    {
    396       if(currRing->ShortOut==0)  StringAppendS("^");
     395      if(r->ShortOut==0)  StringAppendS("^");
    397396      StringAppend("%d",(int)((long)a));
    398397    }
     
    409408#endif
    410409  char *s;
     410  char *nfParameter=currRing->parameter[0];
    411411  if (((long)a==(long)nfCharQ) || ((long)a==0L)) return NULL;
    412412  else if ((long)a==1L)
     
    488488    *a = nfDiv(z,n);
    489489  }
     490  char *nfParameter=currRing->parameter[0];
    490491  if (strncmp(s,nfParameter,strlen(nfParameter))==0)
    491492  {
     
    547548    j++;
    548549    if (nfMinPoly[j]!=0)
    549       StringAppend("%d*%s^%d",nfMinPoly[j],nfParameter,i);
     550      StringAppend("%d*%s^%d",nfMinPoly[j],currRing->parameter[0],i);
    550551    i--;
    551552    if(i<0) break;
     
    583584{
    584585  //Print("GF(%d)\n",c);
    585   nfParameter=param[0];
    586586  if ((c==nfCharQ)||(c==-nfCharQ))
    587587    /*this field is already set*/  return;
  • kernel/ffields.h

    r42660f r493225  
    2828BOOLEAN nfGreater     (number a, number b);
    2929BOOLEAN nfEqual       (number a, number b);
    30 void    nfWrite       (number &a);
     30void    nfWrite       (number &a, const ring r);
    3131const char *  nfRead  (const char *s, number *a);
    3232#ifdef LDEBUG
  • kernel/gnumpc.cc

    r42660f r493225  
    455455* write a floating point number
    456456*/
    457 void ngcWrite (number &a)
     457void ngcWrite (number &a, const ring r)
    458458{
    459459  if (a==NULL)
  • kernel/gnumpc.h

    r42660f r493225  
    2929number   ngc_Copy(number a, ring r);
    3030const char * ngcRead (const char *s, number *a);
    31 void     ngcWrite(number &a);
     31void     ngcWrite(number &a, const ring r);
    3232number   ngcRePart(number a);
    3333number   ngcImPart(number a);
  • kernel/gnumpfl.cc

    r42660f r493225  
    470470* write a floating point number
    471471*/
    472 void ngfWrite (number &a)
     472void ngfWrite (number &a, const ring r)
    473473{
    474474  char *out;
  • kernel/gnumpfl.h

    r42660f r493225  
    2828number   ngf_Copy(number a, ring r);
    2929const char *   ngfRead (const char *s, number *a);
    30 void     ngfWrite(number &a);
     30void     ngfWrite(number &a, const ring r);
    3131
    3232#ifdef LDEBUG
  • kernel/kspoly.cc

    r42660f r493225  
    2525int create_count = 0;
    2626// define this if reductions are reported on TEST_OPT_DEBUG
    27 //#define TEST_OPT_DEBUG_RED
     27#define TEST_OPT_DEBUG_RED
    2828#endif
    2929
  • kernel/longalg.cc

    r42660f r493225  
    5454       void     (*nacNormalize)(number &a);
    5555static number   (*nacNeg)(number a);
    56 static void     (*nacWrite)(number &a);
     56#define nacWrite(A) n_Write(A,nacRing)
    5757       number   (*nacCopy)(number a);
    5858static number   (*nacInvers)(number a);
     
    135135  nacIsZero      = nacRing->cf->nIsZero;
    136136  nacRead        = nacRing->cf->nRead;
    137   nacWrite       = nacRing->cf->nWrite;
    138137  nacGreaterZero = nacRing->cf->nGreaterZero;
    139138  nacIsOne       = nacRing->cf->nIsOne;
     
    413412*writes a polynomial number
    414413*/
    415 void napWrite(napoly p,const BOOLEAN has_denom)
    416 {
     414void napWrite(napoly p,const BOOLEAN has_denom, const ring r)
     415{
     416  ring nacring=r->algring;
    417417  if (p==NULL)
    418418    StringAppendS("0");
    419   else if (p_LmIsConstant(p,nacRing))
     419  else if (p_LmIsConstant(p,nacring))
    420420  {
    421421    BOOLEAN kl=FALSE;
    422422    if (has_denom)
    423423    {
    424       number den=nacRing->cf->cfGetDenom(pGetCoeff(p), nacRing);
    425       kl=!n_IsOne(den,nacRing);
    426       n_Delete(&den, nacRing);
     424      number den=nacring->cf->cfGetDenom(pGetCoeff(p),nacring );
     425      kl=!n_IsOne(den,nacring);
     426      n_Delete(&den, nacring);
    427427    }
    428428    if (kl) StringAppendS("(");
    429429    //StringAppendS("-1");
    430     nacWrite(pGetCoeff(p));
     430    n_Write(pGetCoeff(p),nacring);
    431431    if (kl) StringAppendS(")");
    432432  }
     
    437437    {
    438438      BOOLEAN wroteCoeff=FALSE;
    439       if ((p_LmIsConstant(p,nacRing))
    440       || ((!nacIsOne(pGetCoeff(p)))
    441         && (!nacIsMOne(pGetCoeff(p)))))
     439      if ((p_LmIsConstant(p,nacring))
     440      || ((!n_IsOne(pGetCoeff(p),nacring))
     441        && (!n_IsMOne(pGetCoeff(p),nacring))))
    442442      {
    443         nacWrite(pGetCoeff(p));
    444         wroteCoeff=(currRing->ShortOut==0);
     443        n_Write(pGetCoeff(p),nacring);
     444        wroteCoeff=(r->ShortOut==0);
    445445      }
    446       else if (nacIsMOne(pGetCoeff(p)))
     446      else if (n_IsMOne(pGetCoeff(p),nacring))
    447447      {
    448448        StringAppendS("-");
    449449      }
    450450      int  i;
    451       for (i = 0; i < naNumbOfPar; i++)
     451      for (i = 0; i < r->P; i++)
    452452      {
    453         int e=p_GetExp(p,i+1,nacRing);
     453        int e=p_GetExp(p,i+1,nacring);
    454454        if (e > 0)
    455455        {
     
    457457            StringAppendS("*");
    458458          else
    459             wroteCoeff=(currRing->ShortOut==0);
    460           StringAppendS(naParNames[i]);
     459            wroteCoeff=(r->ShortOut==0);
     460          StringAppendS(r->parameter[i]);
    461461          if (e > 1)
    462462          {
    463             if (currRing->ShortOut == 0)
     463            if (r->ShortOut == 0)
    464464              StringAppendS("^");
    465465            StringAppend("%d", e);
     
    470470      if (p==NULL)
    471471        break;
    472       if (nacGreaterZero(pGetCoeff(p)))
     472      if (n_GreaterZero(pGetCoeff(p),nacring))
    473473        StringAppendS("+");
    474474    }
     
    15101510*  writes a number
    15111511*/
    1512 void naWrite(number &phn)
     1512void naWrite(number &phn, const ring r)
    15131513{
    15141514  lnumber ph = (lnumber)phn;
     
    15191519    phn->s = 0;
    15201520    BOOLEAN has_denom=(ph->n!=NULL);
    1521     napWrite(ph->z,has_denom/*(ph->n!=NULL)*/);
     1521    napWrite(ph->z,has_denom/*(ph->n!=NULL)*/,r);
    15221522    if (has_denom/*(ph->n!=NULL)*/)
    15231523    {
    15241524      StringAppendS("/");
    1525       napWrite(ph->n,TRUE);
     1525      napWrite(ph->n,TRUE,r);
    15261526    }
    15271527  }
  • kernel/longalg.h

    r42660f r493225  
    5454number  naLcm(number a, number b, const ring r);
    5555const char *  naRead(const char * s, number * p);
    56 void    naWrite(number &p);
     56void    naWrite(number &p, const ring r);
    5757char *  naName(number n);
    5858nMapFunc naSetMap(const ring src, const ring dst);
     
    7979#define nanumber               lnumber
    8080napoly napRemainder(napoly f, const napoly  g);
    81 void napWrite(napoly l,const BOOLEAN denom=TRUE);
     81//void napWrite(napoly l,const BOOLEAN denom=TRUE);
    8282number   naGetDenom(number &n, const ring r);
    8383number   naGetNumerator(number &n, const ring r);
  • kernel/longrat.h

    r42660f r493225  
    7979void     nlPower(number x, int exp, number *lu);
    8080const char *   nlRead (const char *s, number *a);
    81 void     nlWrite(number &a);
     81void     nlWrite(number &a, const ring r);
    8282int      nlModP(number n, int p);
    8383int      nlSize(number n);
  • kernel/longrat0.cc

    r42660f r493225  
    108108* write a rational number
    109109*/
    110 void nlWrite (number &a)
     110void nlWrite (number &a, const ring r)
    111111{
    112112  char *s,*z;
     
    124124    {
    125125      nlNormalize(a);
    126       nlWrite(a);
     126      nlWrite(a,r);
    127127      return;
    128128    }
  • kernel/modulop.cc

    r42660f r493225  
    218218}
    219219
    220 void npWrite (number &a)
    221 {
    222   if ((long)a > (npPrimeM >>1)) StringAppend("-%d",(int)(npPrimeM-((long)a)));
    223   else                          StringAppend("%d",(int)((long)a));
     220void npWrite (number &a, const ring r)
     221{
     222  if ((long)a>(((long)r->ch) >>1)) StringAppend("-%d",(int)(((long)r->ch)-((long)a)));
     223  else                             StringAppend("%d",(int)((long)a));
    224224}
    225225
  • kernel/modulop.h

    r42660f r493225  
    4141BOOLEAN npGreater     (number a, number b);
    4242BOOLEAN npEqual       (number a, number b);
    43 void    npWrite       (number &a);
     43void    npWrite       (number &a, const ring r);
    4444const char *  npRead  (const char *s, number *a);
    4545#ifdef LDEBUG
  • kernel/numbers.cc

    r42660f r493225  
    5959BOOLEAN (*nIsMOne)(number a);
    6060BOOLEAN (*nGreaterZero)(number a);
    61 void    (*nWrite)(number &a);
    6261const char* (*nRead)(const char *s,number *a);
    6362void    (*nPower)(number a, int i, number * result);
     
    232231  nIsMOne = r->cf->nIsMOne;
    233232  nGreaterZero = r->cf->nGreaterZero;
    234   nWrite = r->cf->nWrite;
    235233  nRead = r->cf->nRead;
    236234  nPower = r->cf->nPower;
     
    336334    n->nIsMOne     = naIsMOne;
    337335    n->nGreaterZero= naGreaterZero;
    338     n->nWrite      = naWrite;
     336    n->cfWrite     = naWrite;
    339337    n->nRead       = naRead;
    340338    n->nPower      = naPower;
     
    375373     n->nIsMOne = nr2mIsMOne;
    376374     n->nGreaterZero = nr2mGreaterZero;
    377      n->nWrite = nr2mWrite;
     375     n->cfWrite = nr2mWrite;
    378376     n->nRead = nr2mRead;
    379377     n->nPower = nr2mPower;
     
    418416     n->nIsMOne = nrnIsMOne;
    419417     n->nGreaterZero = nrnGreaterZero;
    420      n->nWrite = nrnWrite;
     418     n->cfWrite = nrnWrite;
    421419     n->nRead = nrnRead;
    422420     n->nPower = nrnPower;
     
    459457     n->nIsMOne = nrzIsMOne;
    460458     n->nGreaterZero = nrzGreaterZero;
    461      n->nWrite = nrzWrite;
     459     n->cfWrite = nrzWrite;
    462460     n->nRead = nrzRead;
    463461     n->nPower = nrzPower;
     
    498496    n->nIsMOne = nlIsMOne;
    499497    n->nGreaterZero = nlGreaterZero;
    500     n->nWrite = nlWrite;
     498    n->cfWrite = nlWrite;
    501499    n->nRead = nlRead;
    502500    n->nPower = nlPower;
     
    531529    n->nIsMOne = npIsMOne;
    532530    n->nGreaterZero = npGreaterZero;
    533     n->nWrite = npWrite;
     531    n->cfWrite = npWrite;
    534532    n->nRead = npRead;
    535533    n->nPower = npPower;
     
    573571    n->nIsMOne = nfIsMOne;
    574572    n->nGreaterZero = nfGreaterZero;
    575     n->nWrite = nfWrite;
     573    n->cfWrite = nfWrite;
    576574    n->nRead = nfRead;
    577575    n->nPower = nfPower;
     
    603601    n->nIsMOne = nrIsMOne;
    604602    n->nGreaterZero = nrGreaterZero;
    605     n->nWrite = nrWrite;
     603    n->cfWrite = nrWrite;
    606604    n->nRead = nrRead;
    607605    n->nPower = nrPower;
     
    633631    n->nIsMOne = ngfIsMOne;
    634632    n->nGreaterZero = ngfGreaterZero;
    635     n->nWrite = ngfWrite;
     633    n->cfWrite = ngfWrite;
    636634    n->nRead = ngfRead;
    637635    n->nPower = ngfPower;
     
    664662    n->nIsMOne = ngcIsMOne;
    665663    n->nGreaterZero = ngcGreaterZero;
    666     n->nWrite = ngcWrite;
     664    n->cfWrite = ngcWrite;
    667665    n->nRead = ngcRead;
    668666    n->nPower = ngcPower;
  • kernel/numbers.h

    r42660f r493225  
    2424#define n_IsMOne(n, r)        (r)->cf->nIsMOne(n)
    2525#define n_GreaterZero(n, r)   (r)->cf->nGreaterZero(n)
    26 #define n_Write(n, r)         (r)->cf->nWrite(n)
     26#define n_Write(n, r)         (r)->cf->cfWrite(n,r)
    2727#define n_Normalize(n, r)     (r)->cf->nNormalize(n)
    2828#define n_Gcd(a, b, r)        (r)->cf->nGcd(a,b,r)
     
    6565extern number  (*nRePart)(number a);
    6666extern number  (*nImPart)(number a);
    67 extern void    (*nWrite)(number &a);
     67#define nWrite(A) n_Write(A,currRing)
    6868extern const char *  (*nRead)(const char * s, number * a);
    6969extern void    (*nNormalize)(number &a);
  • kernel/pp_Mult_nn__T.cc

    r42660f r493225  
    3333#ifndef HAVE_ZERODIVISORS
    3434    p_AllocBin(pNext(q), bin, r);
    35     q = pNext(q);
     35    pIter(q);
    3636    number nc = pGetCoeff(p);
    3737    pSetCoeff0(q, n_Mult(n, nc, r));
     
    4343    {
    4444      p_AllocBin(pNext(q), bin, r);
    45       q = pNext(q);
     45      pIter(q);
    4646      pSetCoeff0(q, tmp);
    4747      p_MemCopy(q->exp, p->exp, length);
  • kernel/rintegers.cc

    r42660f r493225  
    314314#endif
    315315
    316 void nrzWrite (number &a)
     316void nrzWrite (number &a, const ring r)
    317317{
    318318  char *s,*z;
  • kernel/rintegers.h

    r42660f r493225  
    4343number  nrzExtGcd      (number a, number b, number *s, number *t);
    4444nMapFunc nrzSetMap     (const ring src, const ring dst);
    45 void    nrzWrite       (number &a);
     45void    nrzWrite       (number &a, const ring r);
    4646const char *  nrzRead  (const char *s, number *a);
    4747char *  nrzName        (number n);
  • kernel/rmodulo2m.cc

    r42660f r493225  
    536536#endif
    537537
    538 void nr2mWrite (number &a)
    539 {
    540   ring r=currRing;
     538void nr2mWrite (number &a, const ring r)
     539{
    541540  if ((NATNUMBER)a > (r->nr2mModul  >>1))
    542541     StringAppend("-%d",(int)(r->nr2mModul -((NATNUMBER)a)));
  • kernel/rmodulo2m.h

    r42660f r493225  
    3939number  nr2mExtGcd      (number a, number b, number *s, number *t);
    4040nMapFunc nr2mSetMap     (const ring src, const ring dst);
    41 void    nr2mWrite       (number &a);
     41void    nr2mWrite       (number &a, const ring r);
    4242const char *  nr2mRead  (const char *s, number *a);
    4343char *  nr2mName        (number n);
  • kernel/rmodulon.cc

    r42660f r493225  
    527527#endif
    528528
    529 void nrnWrite (number &a)
    530 {
    531   char *s,*z;
    532   if (a==NULL)
    533   {
    534     StringAppendS("o");
    535   }
    536   else
    537   {
    538     int l=mpz_sizeinbase((int_number) a, 10);
    539     if (a->s<2) l=si_max(l,mpz_sizeinbase((int_number) a,10));
    540     l+=2;
    541     s=(char*)omAlloc(l);
    542     z=mpz_get_str(s,10,(int_number) a);
    543     StringAppendS(z);
    544     omFreeSize((ADDRESS)s,l);
    545   }
    546 }
    547 
    548529/*2
    549530* extracts a long integer from s, returns the rest    (COPY FROM longrat0.cc)
  • kernel/rmodulon.h

    r42660f r493225  
    4444number  nrnExtGcd      (number a, number b, number *s, number *t);
    4545nMapFunc nrnSetMap     (const ring src, const ring dst);
    46 void    nrnWrite       (number &a);
     46#define  nrnWrite      nrzWrite
    4747const char *  nrnRead  (const char *s, number *a);
    4848char *  nrnName        (number n);
  • kernel/shortfl.cc

    r42660f r493225  
    186186}
    187187
    188 void nrWrite (number &a)
     188void nrWrite (number &a, const ring r)
    189189{
    190190  StringAppend("%9.3e", nf(a).F());
  • kernel/shortfl.h

    r42660f r493225  
    2525BOOLEAN nrGreater     (number a, number b);
    2626BOOLEAN nrEqual       (number a, number b);
    27 void    nrWrite       (number &a);
     27void    nrWrite       (number &a, const ring r);
    2828const char *  nrRead  (const char *s, number *a);
    2929int     nrGetChar();
  • kernel/structs.h

    r42660f r493225  
    291291   number  (*nRePart)(number a);
    292292   number  (*nImPart)(number a);
    293    void    (*nWrite)(number &a);
     293   void    (*cfWrite)(number &a, const ring r);
    294294   const char *  (*nRead)(const char * s, number * a);
    295295   void    (*nNormalize)(number &a);
  • omalloc/omDebugTrack.c

    r42660f r493225  
    603603  omAssume(d_addr->track > 0);
    604604  if (max_frames <= 0) return;
     605  if (! (d_addr->flags & OM_FUSED)) return;
    605606
    606607  if (max_frames > OM_MAX_KEPT_FRAMES) max_frames = OM_MAX_KEPT_FRAMES;
  • omalloc/omDefaultConfig.h

    r42660f r493225  
    184184   and free time of addr (track >= 5) */
    185185#ifndef OM_MAX_KEPT_FRAMES
    186 #define OM_MAX_KEPT_FRAMES 5
     186#define OM_MAX_KEPT_FRAMES 10
    187187#endif
    188188
Note: See TracChangeset for help on using the changeset viewer.