=================================================================== RCS file: /home/cvs/OpenXM_contrib2/asir2000/builtin/poly.c,v retrieving revision 1.23 retrieving revision 1.26 diff -u -p -r1.23 -r1.26 --- OpenXM_contrib2/asir2000/builtin/poly.c 2011/07/20 03:19:11 1.23 +++ OpenXM_contrib2/asir2000/builtin/poly.c 2017/02/28 07:06:28 1.26 @@ -45,7 +45,7 @@ * DEVELOPER SHALL HAVE NO LIABILITY IN CONNECTION WITH THE USE, * PERFORMANCE OR NON-PERFORMANCE OF THE SOFTWARE. * - * $OpenXM: OpenXM_contrib2/asir2000/builtin/poly.c,v 1.22 2011/03/30 02:43:18 noro Exp $ + * $OpenXM: OpenXM_contrib2/asir2000/builtin/poly.c,v 1.25 2016/03/31 05:30:32 noro Exp $ */ #include "ca.h" #include "parse.h" @@ -125,6 +125,7 @@ struct ftab poly_tab[] = { {"maxblen",Pmaxblen,1}, {"ord",Pord,-1}, {"remove_vars",Premove_vars,1}, + {"delete_vars",Premove_vars,1}, {"coef0",Pcoef0,-3}, {"coef",Pcoef,-3}, {"coef_gf2n",Pcoef_gf2n,2}, @@ -499,6 +500,11 @@ void Pord(NODE arg,LIST *listp) VR(tvl) = v; } } + } else { + for ( svl = vl; svl; svl = NEXT(svl) ) { + if ( svl->v->attr == (pointer)V_PF ) + ((PFINS)svl->v->priv)->pf->ins = 0; + } } if ( vl ) NEXT(tvl) = 0; @@ -820,8 +826,9 @@ void Psetmod_ff(NODE arg,Obj *rp) if ( ac == 1 ) { mod = (Obj)ARG0(arg); if ( !mod ) - error("setmod_ff : invalid argument"); - switch ( OID(mod) ) { + current_ff = FF_NOT_SET; + else { + switch ( OID(mod) ) { case O_N: current_ff = FF_GFP; setmod_lm(NM((Q)mod)); @@ -831,7 +838,8 @@ void Psetmod_ff(NODE arg,Obj *rp) setmod_gf2n((P)mod); break; default: error("setmod_ff : invalid argument"); - } + } + } } else if ( ac == 2 ) { if ( OID(ARG0(arg)) == O_N ) { /* small finite field; primitive root representation */