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)