1969{
1974 {
1977 {
1983 }
1984 }
1986 {
1989 {
1990 char *what=(char *)(d->arg1.Data());
1993 {
1994 nok=d->arg2.Eval();
1995 if(!nok)
1996 {
1999 if (!nok)
2000 {
2003 }
2004 }
2005 }
2007 }
2008 else if (d->op=='=')
2009 {
2011 {
2012 nok=d->arg1.Eval();
2013 }
2014 if (!nok)
2015 {
2016 const char *n=d->arg1.name;
2017 nok=(n ==
NULL) || d->arg2.Eval();
2018 if (!nok)
2019 {
2020 int save_typ=d->arg1.rtyp;
2022 if (d->arg1.rtyp!=
IDHDL)
2025 if (d->arg1.rtyp==
IDHDL)
2026 {
2029 d->arg1.Init();
2030
2031 d->arg1.name=n;
2032 }
2038 else
2040 memcpy(&d->arg1,&t,
sizeof(
sleftv));
2042 nok=nok||
iiAssign(&d->arg1,&d->arg2);
2045 if (!nok)
2046 {
2047 d->arg1.Init();
2050 }
2051 }
2052 }
2054 }
2055 else
2056 {
2059 if ((toktype==
CMD_M)
2062 {
2063 if (d->argc <=3)
2064 {
2065 if (d->argc>=1) nok=d->arg1.Eval();
2066 if ((!nok) && (d->argc>=2))
2067 {
2068 nok=d->arg2.Eval();
2070 memcpy(d->arg1.next,&d->arg2,
sizeof(
sleftv));
2071 d->arg2.Init();
2072 }
2073 if ((!nok) && (d->argc==3))
2074 {
2075 nok=d->arg3.Eval();
2077 memcpy(d->arg1.next->next,&d->arg3,
sizeof(
sleftv));
2078 d->arg3.Init();
2079 }
2080 if (d->argc==0)
2082 else
2084 }
2085 else
2086 {
2087 nok=d->arg1.Eval();
2089 }
2090 }
2091 else if (d->argc==1)
2092 {
2093 nok=d->arg1.Eval();
2095 }
2096 else if(d->argc==2)
2097 {
2098 nok=d->arg1.Eval();
2099 nok=nok||d->arg2.Eval();
2101 }
2102 else if(d->argc==3)
2103 {
2104 nok=d->arg1.Eval();
2105 nok=nok||d->arg2.Eval();
2106 nok=nok||d->arg3.Eval();
2107 nok=nok||
iiExprArith3(&tmp,d->op,&d->arg1,&d->arg2,&d->arg3);
2108 }
2109 else if(d->argc!=0)
2110 {
2111 nok=d->arg1.Eval();
2113 }
2114 else
2115 {
2117 }
2119 memcpy(this,&tmp,sizeof(tmp));
2120 }
2121 }
2124 {
2126 }
2127#ifdef MDEBUG
2129 {
2131#ifdef LDEBUG
2133#endif
2134 break;
2136#ifdef LDEBUG
2138#endif
2139 break;
2142 break;
2146 {
2147 ideal
id=(ideal)
Data();
2149 int i=
id->ncols*
id->nrows-1;
2151 }
2152 break;
2153 }
2154#endif
2157 return nok;
2158}
#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)