2001{
2006 {
2009 {
2015 }
2016 }
2018 {
2021 {
2022 char *what=(char *)(d->arg1.Data());
2025 {
2026 nok=d->arg2.Eval();
2027 if(!nok)
2028 {
2031 if (!nok)
2032 {
2035 }
2036 }
2037 }
2039 }
2040 else if (d->op=='=')
2041 {
2043 {
2044 nok=d->arg1.Eval();
2045 }
2046 if (!nok)
2047 {
2048 const char *n=d->arg1.name;
2049 nok=(n ==
NULL) || d->arg2.Eval();
2050 if (!nok)
2051 {
2052 int save_typ=d->arg1.rtyp;
2054 if (d->arg1.rtyp!=
IDHDL)
2057 if (d->arg1.rtyp==
IDHDL)
2058 {
2061 d->arg1.Init();
2062
2063 d->arg1.name=n;
2064 }
2066 sleftv t;
2067 if(save_typ!=
PROC_CMD) save_typ=d->arg2.rtyp;
2070 else
2072 memcpy(&d->arg1,&t,sizeof(sleftv));
2074 nok=nok||
iiAssign(&d->arg1,&d->arg2);
2077 if (!nok)
2078 {
2079 d->arg1.Init();
2082 }
2083 }
2084 }
2086 }
2087 else
2088 {
2089 sleftv tmp; tmp.
Init();
2091 if ((toktype==
CMD_M)
2094 {
2095 if (d->argc <=3)
2096 {
2097 if (d->argc>=1) nok=d->arg1.Eval();
2098 if ((!nok) && (d->argc>=2))
2099 {
2100 nok=d->arg2.Eval();
2102 memcpy(d->arg1.next,&d->arg2,sizeof(sleftv));
2103 d->arg2.Init();
2104 }
2105 if ((!nok) && (d->argc==3))
2106 {
2107 nok=d->arg3.Eval();
2109 memcpy(d->arg1.next->next,&d->arg3,sizeof(sleftv));
2110 d->arg3.Init();
2111 }
2112 if (d->argc==0)
2114 else
2116 }
2117 else
2118 {
2119 nok=d->arg1.Eval();
2121 }
2122 }
2123 else if (d->argc==1)
2124 {
2125 nok=d->arg1.Eval();
2127 }
2128 else if(d->argc==2)
2129 {
2130 nok=d->arg1.Eval();
2131 nok=nok||d->arg2.Eval();
2133 }
2134 else if(d->argc==3)
2135 {
2136 nok=d->arg1.Eval();
2137 nok=nok||d->arg2.Eval();
2138 nok=nok||d->arg3.Eval();
2139 nok=nok||
iiExprArith3(&tmp,d->op,&d->arg1,&d->arg2,&d->arg3);
2140 }
2141 else if(d->argc!=0)
2142 {
2143 nok=d->arg1.Eval();
2145 }
2146 else
2147 {
2149 }
2151 memcpy(this,&tmp,sizeof(tmp));
2152 }
2153 }
2156 {
2158 }
2159#ifdef MDEBUG
2161 {
2163#ifdef LDEBUG
2165#endif
2166 break;
2168#ifdef LDEBUG
2170#endif
2171 break;
2174 break;
2178 {
2179 ideal
id=(ideal)
Data();
2181 int i=
id->ncols*
id->nrows-1;
2183 }
2184 break;
2185 }
2186#endif
2189 return nok;
2190}
#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)