=================================================================== RCS file: /home/cvs/OpenXM_contrib2/asir2000/builtin/dp.c,v retrieving revision 1.16 retrieving revision 1.20 diff -u -p -r1.16 -r1.20 --- OpenXM_contrib2/asir2000/builtin/dp.c 2001/09/04 08:48:18 1.16 +++ OpenXM_contrib2/asir2000/builtin/dp.c 2001/10/05 10:23:06 1.20 @@ -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/dp.c,v 1.15 2001/01/11 08:43:21 noro Exp $ + * $OpenXM: OpenXM_contrib2/asir2000/builtin/dp.c,v 1.19 2001/10/01 01:58:02 noro Exp $ */ #include "ca.h" #include "base.h" @@ -122,7 +122,6 @@ struct ftab dp_tab[] = { /* F4 algorithm */ {"dp_f4_main",Pdp_f4_main,3}, {"dp_f4_mod_main",Pdp_f4_mod_main,4}, - {"dp_f4_f_main",Pdp_f4_f_main,3}, /* weyl algebra */ /* multiplication */ @@ -148,7 +147,6 @@ struct ftab dp_tab[] = { /* F4 algorithm */ {"dp_weyl_f4_main",Pdp_weyl_f4_main,3}, {"dp_weyl_f4_mod_main",Pdp_weyl_f4_mod_main,4}, - {"dp_weyl_f4_f_main",Pdp_weyl_f4_f_main,3}, /* misc */ {"dp_weyl_set_weight",Pdp_weyl_set_weight,-1}, @@ -1286,24 +1284,9 @@ LIST *rp; asir_assert(ARG1(arg),O_LIST,"dp_f4_main"); f = (LIST)ARG0(arg); v = (LIST)ARG1(arg); create_order_spec(ARG2(arg),&ord); - dp_f4_main(f,v,0,&ord,rp); + dp_f4_main(f,v,&ord,rp); } -void Pdp_f4_f_main(arg,rp) -NODE arg; -LIST *rp; -{ - LIST f,v; - struct order_spec ord; - - do_weyl = 0; - asir_assert(ARG0(arg),O_LIST,"dp_f4_f_main"); - asir_assert(ARG1(arg),O_LIST,"dp_f4_f_main"); - f = (LIST)ARG0(arg); v = (LIST)ARG1(arg); - create_order_spec(ARG2(arg),&ord); - dp_f4_main(f,v,1,&ord,rp); -} - void Pdp_f4_mod_main(arg,rp) NODE arg; LIST *rp; @@ -1313,10 +1296,12 @@ LIST *rp; struct order_spec ord; do_weyl = 0; - asir_assert(ARG0(arg),O_LIST,"dp_f4_main"); - asir_assert(ARG1(arg),O_LIST,"dp_f4_main"); - asir_assert(ARG2(arg),O_N,"dp_f4_main"); + asir_assert(ARG0(arg),O_LIST,"dp_f4_mod_main"); + asir_assert(ARG1(arg),O_LIST,"dp_f4_mod_main"); + asir_assert(ARG2(arg),O_N,"dp_f4_mod_main"); f = (LIST)ARG0(arg); v = (LIST)ARG1(arg); m = QTOS((Q)ARG2(arg)); + if ( !m ) + error("dp_f4_mod_main : invalid argument"); create_order_spec(ARG3(arg),&ord); dp_f4_mod_main(f,v,m,&ord,rp); } @@ -1337,6 +1322,8 @@ LIST *rp; asir_assert(ARG3(arg),O_N,"dp_gr_mod_main"); f = (LIST)ARG0(arg); v = (LIST)ARG1(arg); homo = (Num)ARG2(arg); m = QTOS((Q)ARG3(arg)); + if ( !m ) + error("dp_gr_mod_main : invalid argument"); create_order_spec(ARG4(arg),&ord); dp_gr_mod_main(f,v,homo,m,&ord,rp); } @@ -1406,26 +1393,10 @@ LIST *rp; f = (LIST)ARG0(arg); v = (LIST)ARG1(arg); create_order_spec(ARG2(arg),&ord); do_weyl = 1; - dp_f4_main(f,v,0,&ord,rp); + dp_f4_main(f,v,&ord,rp); do_weyl = 0; } -void Pdp_weyl_f4_f_main(arg,rp) -NODE arg; -LIST *rp; -{ - LIST f,v; - struct order_spec ord; - - asir_assert(ARG0(arg),O_LIST,"dp_weyl_f4_main"); - asir_assert(ARG1(arg),O_LIST,"dp_weyl_f4_main"); - f = (LIST)ARG0(arg); v = (LIST)ARG1(arg); - create_order_spec(ARG2(arg),&ord); - do_weyl = 1; - dp_f4_main(f,v,1,&ord,rp); - do_weyl = 0; -} - void Pdp_weyl_f4_mod_main(arg,rp) NODE arg; LIST *rp; @@ -1438,6 +1409,8 @@ LIST *rp; asir_assert(ARG1(arg),O_LIST,"dp_weyl_f4_main"); asir_assert(ARG2(arg),O_N,"dp_f4_main"); f = (LIST)ARG0(arg); v = (LIST)ARG1(arg); m = QTOS((Q)ARG2(arg)); + if ( !m ) + error("dp_weyl_f4_mod_main : invalid argument"); create_order_spec(ARG3(arg),&ord); do_weyl = 1; dp_f4_mod_main(f,v,m,&ord,rp); @@ -1459,6 +1432,8 @@ LIST *rp; asir_assert(ARG3(arg),O_N,"dp_weyl_gr_mod_main"); f = (LIST)ARG0(arg); v = (LIST)ARG1(arg); homo = (Num)ARG2(arg); m = QTOS((Q)ARG3(arg)); + if ( !m ) + error("dp_weyl_gr_mod_main : invalid argument"); create_order_spec(ARG4(arg),&ord); do_weyl = 1; dp_gr_mod_main(f,v,homo,m,&ord,rp);