1909{
1914 {
1917 {
1923 }
1924 }
1926 {
1929 {
1930 char *what=(char *)(d->arg1.Data());
1933 {
1934 nok=d->arg2.Eval();
1935 if(!nok)
1936 {
1939 if (!nok)
1940 {
1943 }
1944 }
1945 }
1947 }
1948 else if (d->op=='=')
1949 {
1951 {
1952 nok=d->arg1.Eval();
1953 }
1954 if (!nok)
1955 {
1956 const char *n=d->arg1.name;
1957 nok=(n ==
NULL) || d->arg2.Eval();
1958 if (!nok)
1959 {
1960 int save_typ=d->arg1.rtyp;
1962 if (d->arg1.rtyp!=
IDHDL)
1965 if (d->arg1.rtyp==
IDHDL)
1966 {
1969 d->arg1.Init();
1970
1971 d->arg1.name=n;
1972 }
1978 else
1980 memcpy(&d->arg1,&t,
sizeof(
sleftv));
1982 nok=nok||
iiAssign(&d->arg1,&d->arg2);
1985 if (!nok)
1986 {
1987 d->arg1.Init();
1990 }
1991 }
1992 }
1994 }
1995 else
1996 {
1999 if ((toktype==
CMD_M)
2002 {
2003 if (d->argc <=3)
2004 {
2005 if (d->argc>=1) nok=d->arg1.Eval();
2006 if ((!nok) && (d->argc>=2))
2007 {
2008 nok=d->arg2.Eval();
2010 memcpy(d->arg1.next,&d->arg2,
sizeof(
sleftv));
2011 d->arg2.Init();
2012 }
2013 if ((!nok) && (d->argc==3))
2014 {
2015 nok=d->arg3.Eval();
2017 memcpy(d->arg1.next->next,&d->arg3,
sizeof(
sleftv));
2018 d->arg3.Init();
2019 }
2020 if (d->argc==0)
2022 else
2024 }
2025 else
2026 {
2027 nok=d->arg1.Eval();
2029 }
2030 }
2031 else if (d->argc==1)
2032 {
2033 nok=d->arg1.Eval();
2035 }
2036 else if(d->argc==2)
2037 {
2038 nok=d->arg1.Eval();
2039 nok=nok||d->arg2.Eval();
2041 }
2042 else if(d->argc==3)
2043 {
2044 nok=d->arg1.Eval();
2045 nok=nok||d->arg2.Eval();
2046 nok=nok||d->arg3.Eval();
2047 nok=nok||
iiExprArith3(&tmp,d->op,&d->arg1,&d->arg2,&d->arg3);
2048 }
2049 else if(d->argc!=0)
2050 {
2051 nok=d->arg1.Eval();
2053 }
2054 else
2055 {
2057 }
2059 memcpy(this,&tmp,sizeof(tmp));
2060 }
2061 }
2064 {
2066 }
2067#ifdef MDEBUG
2069 {
2071#ifdef LDEBUG
2073#endif
2074 break;
2076#ifdef LDEBUG
2078#endif
2079 break;
2082 break;
2086 {
2087 ideal
id=(ideal)
Data();
2089 int i=
id->ncols*
id->nrows-1;
2091 }
2092 break;
2093 }
2094#endif
2097 return nok;
2098}
#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 *id, package pa)