Changeset 55b1687 in git for Singular/iparith.cc


Ignore:
Timestamp:
Mar 11, 2011, 4:34:19 PM (13 years ago)
Author:
Hans Schoenemann <hannes@…>
Branches:
(u'spielwiese', 'fe61d9c35bf7c61f2b6cbf1b56e25e2f08d536cc')
Children:
f2b6f0bd6a46f6e00696b0aab36f3e899b37e560
Parents:
2371525d3d49c697091cb5d9c5bc6130420e6707
Message:
chinrem for bigint without ring(tr. 260)

git-svn-id: file:///usr/local/Singular/svn/trunk@13959 2c84dea3-7e68-4137-9b89-c4e89433aadc
File:
1 edited

Legend:

Unmodified
Added
Removed
  • Singular/iparith.cc

    r2371525 r55b1687  
    15021502static BOOLEAN jjCHINREM_BI(leftv res, leftv u, leftv v)
    15031503{
    1504   if (rField_is_Q())
    1505   {
    1506     intvec *c=(intvec*)u->Data();
    1507     intvec* p=(intvec*)v->Data();
    1508     int rl=p->length();
    1509     number *x=(number *)omAlloc(rl*sizeof(number));
    1510     number *q=(number *)omAlloc(rl*sizeof(number));
    1511     int i;
    1512     for(i=rl-1;i>=0;i--)
    1513     {
    1514       q[i]=nlInit((*p)[i], NULL);
    1515       x[i]=nlInit((*c)[i], NULL);
    1516     }
    1517     number n=nlChineseRemainder(x,q,rl);
    1518     for(i=rl-1;i>=0;i--)
    1519     {
    1520       nlDelete(&(q[i]),NULL);
    1521       nlDelete(&(x[i]),NULL);
    1522     }
    1523     omFree(x); omFree(q);
    1524     res->data=(char *)n;
    1525     return FALSE;
    1526   }
    1527   else return TRUE;
     1504  intvec *c=(intvec*)u->Data();
     1505  intvec* p=(intvec*)v->Data();
     1506  int rl=p->length();
     1507  number *x=(number *)omAlloc(rl*sizeof(number));
     1508  number *q=(number *)omAlloc(rl*sizeof(number));
     1509  int i;
     1510  for(i=rl-1;i>=0;i--)
     1511  {
     1512    q[i]=nlInit((*p)[i], NULL);
     1513    x[i]=nlInit((*c)[i], NULL);
     1514  }
     1515  number n=nlChineseRemainder(x,q,rl);
     1516  for(i=rl-1;i>=0;i--)
     1517  {
     1518    nlDelete(&(q[i]),NULL);
     1519    nlDelete(&(x[i]),NULL);
     1520  }
     1521  omFree(x); omFree(q);
     1522  res->data=(char *)n;
     1523  return FALSE;
    15281524}
    15291525#endif
     
    15941590static BOOLEAN jjCHINREM_ID(leftv res, leftv u, leftv v)
    15951591{
    1596   if (rField_is_Q())
     1592  if ((currRing==NULL) || rField_is_Q())
    15971593  {
    15981594    lists c=(lists)u->CopyD(); // list of ideal
Note: See TracChangeset for help on using the changeset viewer.