Ignore:
Timestamp:
Feb 19, 2013, 9:45:45 PM (11 years ago)
Author:
Oleksandr Motsak <motsak@…>
Branches:
(u'spielwiese', '4a9821a93ffdc22a6696668bd4f6b8c9de3e6c5f')
Children:
5e42ec33c5a0d777cb71dc36d36924181f7d88b3
Parents:
fd60be56d6b370a06c2d461f568680391606dbc1236a4c0b334deb5ef1062f5eeac7f6bcaf807f35
Message:
Merge pull request #284 from YueRen/thurnau

Thurnau
File:
1 edited

Legend:

Unmodified
Added
Removed
  • libpolys/polys/ext_fields/transext.cc

    r236a4c r3693cf  
    609609  ntTest(b);
    610610  number aNumCoeff = NULL; int aNumDeg = -1;
     611  number aDenCoeff = NULL; int aDenDeg = -1;
    611612  number bNumCoeff = NULL; int bNumDeg = -1;
     613  number bDenCoeff = NULL; int bDenDeg = -1;
    612614  if (!IS0(a))
    613615  {
     
    615617    aNumDeg = p_Totaldegree(NUM(fa), ntRing);
    616618    aNumCoeff = p_GetCoeff(NUM(fa), ntRing);
     619    if (DEN(fa)!=NULL)
     620    {
     621      aDenDeg = p_Totaldegree(DEN(fa), ntRing);
     622      aDenCoeff=p_GetCoeff(DEN(fa),ntRing);
     623    }
    617624  }
    618625  else return !(ntGreaterZero (b,cf));
     
    622629    bNumDeg = p_Totaldegree(NUM(fb), ntRing);
    623630    bNumCoeff = p_GetCoeff(NUM(fb), ntRing);
     631    if (DEN(fb)!=NULL)
     632    {
     633      bDenDeg = p_Totaldegree(DEN(fb), ntRing);
     634      bDenCoeff=p_GetCoeff(DEN(fb),ntRing);
     635    }
    624636  }
    625637  else return ntGreaterZero(a,cf);
    626   if (aNumDeg > bNumDeg) return TRUE;
    627   if (aNumDeg < bNumDeg) return FALSE;
    628   return n_Greater(aNumCoeff, bNumCoeff, ntCoeffs);
     638  if (aNumDeg-aDenDeg > bNumDeg-bDenDeg) return TRUE;
     639  if (aNumDeg-aDenDeg < bNumDeg-bDenDeg) return FALSE;
     640  number aa;
     641  number bb;
     642  if (bDenCoeff==NULL) aa=n_Copy(aNumCoeff,ntRing->cf);
     643  else                 aa=n_Mult(aNumCoeff,bDenCoeff,ntRing->cf);
     644  if (aDenCoeff==NULL) bb=n_Copy(bNumCoeff,ntRing->cf);
     645  else                 bb=n_Mult(bNumCoeff,aDenCoeff,ntRing->cf);
     646  BOOLEAN rr= n_Greater(aa, bb, ntCoeffs);
     647  n_Delete(&aa,ntRing->cf);
     648  n_Delete(&bb,ntRing->cf);
     649  return rr;
    629650}
    630651
Note: See TracChangeset for help on using the changeset viewer.