Changeset d5122e in git for Singular


Ignore:
Timestamp:
Oct 5, 2016, 5:36:44 PM (8 years ago)
Author:
Hans Schoenemann <hannes@…>
Branches:
(u'spielwiese', 'fe61d9c35bf7c61f2b6cbf1b56e25e2f08d536cc')
Children:
4aaf5920e25e841ccd0432b72d165b4d869a69bcd5cda0dfd81e6ccd6676b5a7762d696d084d9dad
Parents:
65d6837cb0e0c17ca95e439bb49e5ed0e7fc2e9309cb63f3434835f3538f07adbf3c476e26186d46
git-author:
Hans Schoenemann <hannes@mathematik.uni-kl.de>2016-10-05 17:36:44+02:00
git-committer:
GitHub <noreply@github.com>2016-10-05 17:36:44+02:00
Message:
Merge pull request #797 from markwig/spielwiese

choosegfanvector: Fehler beim Erkennen der Homogenitaet korrigiert
Location:
Singular
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • Singular/LIB/surfacesignature.lib

    r09cb63f rd5122e  
    334334{
    335335   number a,b;
    336    int r;
     336   bigint r;
    337337   a = numerator(n);
    338338   b = denominator(n);
    339    int z = int(number(a));
    340    int y = int(number(b));
     339   bigint z = bigint(a);
     340   bigint y = bigint(b);
    341341   r = z mod y;
    342    int q = (z-r) div y;
    343    number n1 = q;
    344    number n2 = n-n1;
     342   bigint q = (z-r) div y;
     343   number n1 = number(q);
     344   number n2 = number(n-n1);
    345345   return(n2);
    346346}
  • Singular/LIB/tropical.lib

    r65d683 rd5122e  
    47274727        // which in a later version
    47284728        // should be interpreded by Singular
    4729         intvec wneu=choosegfanvector(read("/tmp/gfanoutput"),0,anzahlvariablen)[1];
     4729        intvec wneu=choosegfanvector(read("/tmp/gfanoutput"),0,homogentest)[1];
    47304730        setring PREGFANRING;
    47314731      }
     
    54505450/////////////////////////////////////////////////////////////////////////
    54515451
    5452 static proc choosegfanvector (string s,int findall,int anzahlvariablen)
    5453 "USAGE:   choosegfanvector(s); s string
     5452static proc choosegfanvector (string s,int findall,int homogentest)
     5453"USAGE:   choosegfanvector(s,fa,h); s string, fa,h int
    54545454RETURN:   list, the jth entry is the jth integer vector contained in s
    54555455NOTE:     the procedure is called from tropicalparametrise"
     
    54675467    // the last entry in ww should correspond to the homogenisation variable
    54685468    // (and can be omitted), unless the input to gfan was already homogeneous
    5469     if (anzahlvariablen==size(ww)-1)
     5469    if (homogentest==0)
    54705470    {
    54715471      ww=ww[1..size(ww)-1];
     
    54975497      {
    54985498        execute("www=intvec("+w+");");
    5499         if (anzahlvariablen==size(ww)-1)
     5499        if (homogentest==0)
    55005500        {
    55015501          ww[i]=intvec(www[1..size(www)-1]);
     
    56675667  int numberdeletedvariables;  // the number of deleted variables
    56685668  int oldanzahlvariablen=anzahlvariablen; // anzahlvariablen for later reference
     5669  int homogentest=0;
    56695670  list liftings,partliftings;  // the computed liftings (all resp. partly)
    56705671  // consider each ring which has been returned when computing the zeros of the
     
    57185719          // it suffices to homogenise an arbitrary system of generators
    57195720          // II=groebner(II);
     5721          homogentest=homog(II);
    57205722          II=homog(II,maxideal(1)[nvars(PREGFANRING)+1]);
    57215723          // if gfan version >= 0.3.0 is used and the characteristic
     
    57855787            // which in a later version
    57865788            // should be interpreded by Singular
    5787             wneulist=choosegfanvector(read("/tmp/gfanoutput"),findall,anzahlvariablen);
     5789            wneulist=choosegfanvector(read("/tmp/gfanoutput"),findall,homogentest);
    57885790            setring PREGFANRING;
    57895791          }
  • Singular/subexpr.cc

    r09cb63f rd5122e  
    235235          break;
    236236          }
    237         case NUMBER_CMD:
    238237        case BIGINT_CMD:
    239           if (t==NUMBER_CMD)
    240           {
    241             number n=(number)d;
    242             nNormalize(n);
    243             d=n;
    244           }
    245238          s=String(d);
    246239          if (s==NULL) return;
     
    249242          omFree((ADDRESS)s);
    250243          break;
     244        case NUMBER_CMD:
     245          {
     246            number n=(number)d;
     247            nNormalize(n);
     248            if ((number)d !=n)
     249            {
     250              d=n;
     251              if (rtyp==IDHDL) IDNUMBER(((idhdl)data))=n;
     252              else if(rtyp==NUMBER_CMD) data=(void*)n;
     253            }
     254            s=String(d);
     255            if (s==NULL) return;
     256            PrintS(s);
     257            omFree((ADDRESS)s);
     258            break;
     259          }
    251260        case LIST_CMD:
    252261        {
     
    822831        case NUMBER_CMD:
    823832          StringSetS((char*) (typed ? "number(" : ""));
    824           if ((rtyp==IDHDL)&&(IDTYP((idhdl)data)==NUMBER_CMD))
    825           {
    826             nWrite(IDNUMBER((idhdl)data));
    827           }
    828           else if (rtyp==NUMBER_CMD)
    829           {
    830             number n=(number)data;
    831             nWrite(n);
    832             data=(char *)n;
    833           }
    834           else if((rtyp==VMINPOLY)&&(rField_is_GF(currRing)))
     833          if((rtyp==VMINPOLY)&&(rField_is_GF(currRing)))
    835834          {
    836835            nfShowMipo(currRing->cf);
     
    838837          else
    839838          {
    840             number n=nCopy((number)d);
    841             nWrite(n);
    842             nDelete(&n);
     839            nWrite((number)d);
    843840          }
    844841          StringAppendS((char*) (typed ? ")" : ""));
Note: See TracChangeset for help on using the changeset viewer.