=================================================================== RCS file: /home/cvs/OpenXM_contrib2/asir2018/builtin/dp-supp.c,v retrieving revision 1.15 retrieving revision 1.17 diff -u -p -r1.15 -r1.17 --- OpenXM_contrib2/asir2018/builtin/dp-supp.c 2020/10/26 02:41:05 1.15 +++ OpenXM_contrib2/asir2018/builtin/dp-supp.c 2020/12/15 07:40:09 1.17 @@ -45,7 +45,7 @@ * DEVELOPER SHALL HAVE NO LIABILITY IN CONNECTION WITH THE USE, * PERFORMANCE OR NON-PERFORMANCE OF THE SOFTWARE. * - * $OpenXM: OpenXM_contrib2/asir2018/builtin/dp-supp.c,v 1.14 2020/07/02 09:24:16 noro Exp $ + * $OpenXM: OpenXM_contrib2/asir2018/builtin/dp-supp.c,v 1.16 2020/12/05 03:27:20 noro Exp $ */ #include "ca.h" #include "base.h" @@ -2762,7 +2762,7 @@ int create_order_spec(VL vl,Obj obj,struct order_spec spec->pot_nelim = 0; break; - case 3: /* [n,[wv,wm],ord] */ + case 3: /* [n,[mlist1,mlist2,...],ord] or [n,[wv,wm],ord] */ spec->module_ordtype = ZTOS((Z)BDY(node)); if ( spec->module_ordtype < 0 ) { spec->pot_nelim = -spec->module_ordtype; @@ -3660,6 +3660,23 @@ void dpm_rest(DPM p,DPM *rp) if ( *rp ) (*rp)->sugar = p->sugar; } +} + +int dp_getdeg(DP p) +{ + int max,n,i; + MP m; + int *d; + + if ( !p ) return 0; + n = p->nv; + max = 0; + for ( m = BDY(p); m; m = NEXT(m) ) { + d = m->dl->d; + for ( i = 0; i < n; i++ ) + if ( d[i] > max ) max = d[i]; + } + return max; } int dpm_getdeg(DPM p,int *r)