Changeset de27d8 in git for libpolys/polys


Ignore:
Timestamp:
Feb 18, 2013, 7:27:17 PM (11 years ago)
Author:
Hans Schoenemann <hannes@…>
Branches:
(u'spielwiese', '4a9821a93ffdc22a6696668bd4f6b8c9de3e6c5f')
Children:
7d1ce3ef53e17b72b36010a52fcfbdbde745a3e7afc974f80049f26666102bf7d90f3aa6c1dfd957
Parents:
77ed18101c07cdbb767d8703e5ea1d0f7c8b05f6
git-author:
Hans Schoenemann <hannes@mathematik.uni-kl.de>2013-02-18 19:27:17+01:00
git-committer:
Hans Schoenemann <hannes@mathematik.uni-kl.de>2013-02-18 19:27:55+01:00
Message:
fix: intdiv/intmod/chinrem copied from master
Location:
libpolys/polys
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • libpolys/polys/monomials/p_polys.cc

    r77ed181 rde27d8  
    128128        x[j]=n_Init(0, R);
    129129    }
    130     number n=n_ChineseRemainder(x,q,rl,R->cf);
     130    number n=n_ChineseRemainderSym(x,q,rl,TRUE,R->cf);
    131131    for(j=rl-1;j>=0;j--)
    132132    {
  • libpolys/polys/simpleideals.cc

    r77ed181 rde27d8  
    17681768  return(idResult);
    17691769}
     1770
     1771ideal id_ChineseRemainder(ideal *xx, number *q, int rl, const ring r)
     1772{
     1773  int cnt=IDELEMS(xx[0])*xx[0]->nrows;
     1774  ideal result=idInit(cnt,xx[0]->rank);
     1775  result->nrows=xx[0]->nrows; // for lifting matrices
     1776  result->ncols=xx[0]->ncols; // for lifting matrices
     1777  int i,j;
     1778  number *x=(number *)omAlloc(rl*sizeof(number));
     1779  poly *p=(poly *)omAlloc(rl*sizeof(poly));
     1780  for(i=cnt-1;i>=0;i--)
     1781  {
     1782    for(j=rl-1;j>=0;j--)
     1783    {
     1784      p[j]=xx[j]->m[i];
     1785    }
     1786    result->m[i]=p_ChineseRemainder(p,x,q,rl,r);
     1787    for(j=rl-1;j>=0;j--)
     1788    {
     1789      xx[j]->m[i]=p[j];
     1790    }
     1791  }
     1792  omFreeSize(p,rl*sizeof(poly));
     1793  omFreeSize(x,rl*sizeof(number));
     1794  for(i=rl-1;i>=0;i--) id_Delete(&(xx[i]),r);
     1795  omFreeSize(xx,rl*sizeof(ideal));
     1796  return result;
     1797}
  • libpolys/polys/simpleideals.h

    r77ed181 rde27d8  
    147147
    148148
     149ideal id_ChineseRemainder(ideal *xx, number *q, int rl, const ring r);
    149150#endif
Note: See TracChangeset for help on using the changeset viewer.