=================================================================== RCS file: /home/cvs/OpenXM_contrib2/asir2018/builtin/dp-supp.c,v retrieving revision 1.17 retrieving revision 1.18 diff -u -p -r1.17 -r1.18 --- OpenXM_contrib2/asir2018/builtin/dp-supp.c 2020/12/15 07:40:09 1.17 +++ OpenXM_contrib2/asir2018/builtin/dp-supp.c 2022/09/10 04:04:50 1.18 @@ -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.16 2020/12/05 03:27:20 noro Exp $ + * $OpenXM: OpenXM_contrib2/asir2018/builtin/dp-supp.c,v 1.17 2020/12/15 07:40:09 noro Exp $ */ #include "ca.h" #include "base.h" @@ -96,6 +96,16 @@ LIST get_denomlist() return l; } +int dp_iszp(DP p) +{ + MP m; + + if ( !p ) return 1; + for ( m = BDY(p); m; m = NEXT(m)) + if ( !INT(m->c) ) return 0; + return 1; +} + void dp_ptozp(DP p,DP *rp) { MP m,mr,mr0; @@ -145,6 +155,16 @@ void dp_ptozp2(DP p0,DP p1,DP *hp,DP *rp) if ( r ) r->sugar = p1->sugar; *hp = h; *rp = r; +} + +int dpm_iszp(DPM p) +{ + DMM m; + + if ( !p ) return 1; + for ( m = BDY(p); m; m = NEXT(m)) + if ( !INT(m->c) ) return 0; + return 1; } void dpm_ptozp(DPM p,Z *cont,DPM *rp)