=================================================================== RCS file: /home/cvs/OpenXM_contrib2/asir2000/builtin/dp.c,v retrieving revision 1.18 retrieving revision 1.21 diff -u -p -r1.18 -r1.21 --- OpenXM_contrib2/asir2000/builtin/dp.c 2001/09/19 09:28:16 1.18 +++ OpenXM_contrib2/asir2000/builtin/dp.c 2001/10/09 01:36:05 1.21 @@ -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.17 2001/09/05 01:57:32 noro Exp $ + * $OpenXM: OpenXM_contrib2/asir2000/builtin/dp.c,v 1.20 2001/10/05 10:23:06 noro Exp $ */ #include "ca.h" #include "base.h" @@ -146,7 +146,7 @@ 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_mod_main",Pdp_weyl_f4_mod_main,4}, /* misc */ {"dp_weyl_set_weight",Pdp_weyl_set_weight,-1}, @@ -1300,6 +1300,8 @@ LIST *rp; 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); } @@ -1320,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); } @@ -1361,8 +1365,6 @@ LIST *rp; { LIST f,v; Num homo; - Q m; - int modular; struct order_spec ord; asir_assert(ARG0(arg),O_LIST,"dp_weyl_gr_main"); @@ -1405,6 +1407,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); @@ -1426,6 +1430,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);