Changeset a73dde7 in git for Singular/iparith.cc


Ignore:
Timestamp:
Aug 18, 2005, 4:48:58 PM (19 years ago)
Author:
Hans Schönemann <hannes@…>
Branches:
(u'fieker-DuVal', '117eb8c30fc9e991c4decca4832b1d19036c4c65')(u'spielwiese', '38dfc5131670d387a89455159ed1e071997eec94')
Children:
22ab348b171cd2e05a1a277f094ff0fd5c4eabcc
Parents:
be495e3e244c70b1d4938cedaf11b5d3dc25711c
Message:
*hannes: vars with many indices


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

Legend:

Unmodified
Added
Removed
  • Singular/iparith.cc

    rbe495e ra73dde7  
    22*  Computer Algebra System SINGULAR     *
    33****************************************/
    4 /* $Id: iparith.cc,v 1.372 2005-07-27 15:47:55 Singular Exp $ */
     4/* $Id: iparith.cc,v 1.373 2005-08-18 14:48:58 Singular Exp $ */
    55
    66/*
     
    448448  return FALSE;
    449449}
    450 static void jjEQUAL_REST(leftv res,leftv u,leftv v)
    451 {
    452   if ((res->data) && (u->next!=NULL) && (v->next!=NULL))
    453   {
    454     int save_iiOp=iiOp;
    455     if (iiOp==NOTEQUAL)
    456       iiExprArith2(res,u->next,EQUAL_EQUAL,v->next);
    457     else
    458       iiExprArith2(res,u->next,iiOp,v->next);
    459     iiOp=save_iiOp;
    460   }
    461   if (iiOp==NOTEQUAL) res->data=(char *)(!(long)res->data);
    462 }
     450static void jjEQUAL_REST(leftv res,leftv u,leftv v);
    463451static BOOLEAN jjCOMPARE_IV(leftv res, leftv u, leftv v)
    464452{
     
    821809  }
    822810  return jjPLUSMINUS_Gen(res,u,v);
     811  return FALSE;
    823812}
    824813static BOOLEAN jjPLUS_MA(leftv res, leftv u, leftv v)
     
    903892  }
    904893  return jjPLUSMINUS_Gen(res,u,v);
     894  return FALSE;
    905895}
    906896static BOOLEAN jjTIMES_I(leftv res, leftv u, leftv v)
     
    12441234  jjEQUAL_REST(res,u,v);
    12451235  return FALSE;
     1236}
     1237static void jjEQUAL_REST(leftv res,leftv u,leftv v)
     1238{
     1239  if ((res->data) && (u->next!=NULL) && (v->next!=NULL))
     1240  {
     1241    int save_iiOp=iiOp;
     1242    if (iiOp==NOTEQUAL)
     1243      iiExprArith2(res,u->next,EQUAL_EQUAL,v->next);
     1244    else
     1245      iiExprArith2(res,u->next,iiOp,v->next);
     1246    iiOp=save_iiOp;
     1247  }
     1248  if (iiOp==NOTEQUAL) res->data=(char *)(!(long)res->data);
    12461249}
    12471250static BOOLEAN jjAND_I(leftv res, leftv u, leftv v)
     
    14171420  return FALSE;
    14181421}
     1422static BOOLEAN jjKLAMMER_rest(leftv res, leftv u, leftv v);
    14191423static BOOLEAN jjKLAMMER(leftv res, leftv u, leftv v)
    14201424{
     
    14271431  omFree((ADDRESS)nn);
    14281432  syMake(res,n);
     1433  if (u->next!=NULL) return jjKLAMMER_rest(res,u->next,v);
    14291434  return FALSE;
    14301435}
     
    14541459  u->name = NULL;
    14551460  omFreeSize(n, slen);
     1461  if (u->next!=NULL) return jjKLAMMER_rest(res,u->next,v);
     1462  return FALSE;
     1463}
     1464static BOOLEAN jjKLAMMER_rest(leftv res, leftv u, leftv v)
     1465{
     1466  leftv tmp=(leftv)omAllocBin(sleftv_bin);
     1467  memset(tmp,0,sizeof(sleftv));
     1468  BOOLEAN b;
     1469  if (v->Typ()==INTVEC_CMD)
     1470    b=jjKLAMMER_IV(tmp,u,v);
     1471  else
     1472    b=jjKLAMMER(tmp,u,v);
     1473  if (b)
     1474  {
     1475    omFreeBin(tmp,sleftv_bin);
     1476    return TRUE;
     1477  }
     1478  leftv h=res;
     1479  while (h->next!=NULL) h=h->next;
     1480  h->next=tmp;
    14561481  return FALSE;
    14571482}
     
    37103735  intvec *w=(intvec *)atGet(v,"isHomog",INTVEC_CMD);
    37113736  ideal v_id=(ideal)v->Data();
    3712   if (w!=NULL) 
     3737  if (w!=NULL)
    37133738  {
    37143739    w=ivCopy(w);
Note: See TracChangeset for help on using the changeset viewer.