1946{
 1951  {
 1954    {
 1960    }
 1961  }
 1963  {
 1966    {
 1967      char *what=(char *)(d->arg1.Data());
 1970      {
 1971        nok=d->arg2.Eval();
 1972        if(!nok)
 1973        {
 1976          if (!nok)
 1977          {
 1980          }
 1981        }
 1982      }
 1984    }
 1985    else if (d->op=='=') 
 1986    {
 1988      {
 1989        nok=d->arg1.Eval();
 1990      }
 1991      if (!nok)
 1992      {
 1993        const char *n=d->arg1.name;
 1994        nok=(n == 
NULL) || d->arg2.Eval();
 
 1995        if (!nok)
 1996        {
 1997          int save_typ=d->arg1.rtyp;
 1999          if (d->arg1.rtyp!=
IDHDL)
 
 2002          if (d->arg1.rtyp==
IDHDL)
 
 2003          {
 2006            d->arg1.Init();
 2007            
 2008            d->arg1.name=n;
 2009          }
 2015          else
 2017          memcpy(&d->arg1,&t,
sizeof(
sleftv));
 
 2019          nok=nok||
iiAssign(&d->arg1,&d->arg2);
 
 2022          if (!nok)
 2023          {
 2024            d->arg1.Init();
 2027          }
 2028        }
 2029      }
 2031    }
 2032    else
 2033    {
 2036      if ((toktype==
CMD_M)
 
 2039      {
 2040        if (d->argc <=3)
 2041        {
 2042          if (d->argc>=1) nok=d->arg1.Eval();
 2043          if ((!nok) && (d->argc>=2))
 2044          {
 2045            nok=d->arg2.Eval();
 2047            memcpy(d->arg1.next,&d->arg2,
sizeof(
sleftv));
 
 2048            d->arg2.Init();
 2049          }
 2050          if ((!nok) && (d->argc==3))
 2051          {
 2052            nok=d->arg3.Eval();
 2054            memcpy(d->arg1.next->next,&d->arg3,
sizeof(
sleftv));
 
 2055            d->arg3.Init();
 2056          }
 2057          if (d->argc==0)
 2059          else
 2061        }
 2062        else
 2063        {
 2064          nok=d->arg1.Eval();
 2066        }
 2067      }
 2068      else if (d->argc==1)
 2069      {
 2070        nok=d->arg1.Eval();
 2072      }
 2073      else if(d->argc==2)
 2074      {
 2075        nok=d->arg1.Eval();
 2076        nok=nok||d->arg2.Eval();
 2078      }
 2079      else if(d->argc==3)
 2080      {
 2081        nok=d->arg1.Eval();
 2082        nok=nok||d->arg2.Eval();
 2083        nok=nok||d->arg3.Eval();
 2084        nok=nok||
iiExprArith3(&tmp,d->op,&d->arg1,&d->arg2,&d->arg3);
 
 2085      }
 2086      else if(d->argc!=0)
 2087      {
 2088        nok=d->arg1.Eval();
 2090      }
 2091      else 
 2092      {
 2094      }
 2096      memcpy(this,&tmp,sizeof(tmp));
 2097    }
 2098  }
 2101  {
 2103  }
 2104#ifdef MDEBUG
 2106  {
 2108#ifdef LDEBUG
 2110#endif
 2111      break;
 2113#ifdef LDEBUG
 2115#endif
 2116      break;
 2119      break;
 2123      {
 2124        ideal 
id=(ideal)
Data();
 
 2126        int i=
id->ncols*
id->nrows-1;
 
 2128      }
 2129      break;
 2130  }
 2131#endif
 2134  return nok;
 2135}
#define n_Test(a, r)
BOOLEAN n_Test(number a, const coeffs r)
 
BOOLEAN iiExprArith2(leftv res, leftv a, int op, leftv b, BOOLEAN proccall)
 
BOOLEAN iiExprArith1(leftv res, leftv a, int op)
 
BOOLEAN iiExprArithM(leftv res, leftv a, int op)
 
BOOLEAN iiExprArith3(leftv res, int op, leftv a, leftv b, leftv c)
 
BOOLEAN iiAssign(leftv l, leftv r, BOOLEAN toplevel)
 
idhdl ggetid(const char *n)
 
void killhdl(idhdl h, package proot)
 
BOOLEAN iiMake_proc(idhdl pn, package pack, leftv args)
 
INST_VAR sleftv iiRETURNEXPR
 
int iiDeclCommand(leftv sy, leftv name, int lev, int t, idhdl *root, BOOLEAN isring, BOOLEAN init_b)
 
#define omCheckAddr(addr)
 
#define omCheckIf(cond, test)
 
#define omCheckAddrSize(addr, size)
 
void syMake(leftv v, const char *name, package pa=NULL)