=================================================================== RCS file: /home/cvs/OpenXM_contrib2/asir2000/builtin/strobj.c,v retrieving revision 1.83 retrieving revision 1.86 diff -u -p -r1.83 -r1.86 --- OpenXM_contrib2/asir2000/builtin/strobj.c 2005/10/26 10:44:50 1.83 +++ OpenXM_contrib2/asir2000/builtin/strobj.c 2005/10/26 23:43:23 1.86 @@ -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/strobj.c,v 1.82 2005/10/26 08:39:58 noro Exp $ + * $OpenXM: OpenXM_contrib2/asir2000/builtin/strobj.c,v 1.85 2005/10/26 11:07:50 noro Exp $ */ #include "ca.h" #include "parse.h" @@ -127,7 +127,7 @@ struct ftab str_tab[] = { {"quote_is_dependent",Pquote_is_dependent,2}, {"quote_normalize",Pquote_normalize,-2}, - {"quote_normalize_comp",Pquote_normalize_comp,2,0x3}, + {"quote_normalize_comp",Pquote_normalize_comp,2}, {"quote_to_nary",Pquote_to_nary,1}, {"quote_to_bin",Pquote_to_bin,2}, @@ -2488,11 +2488,6 @@ int fnode_normalize_comp(FNODE f1,FNODE f2) FNODE b1,b2,e1,e2,g; Num ee,ee1,c1,c2; - if ( IS_ZERO(f1) ) - if ( IS_ZERO(f2) ) return 0; - else return -1; - else if ( IS_ZERO(f2) ) return 1; - if ( IS_NARYADD(f1) || IS_NARYADD(f2) ) { f1 = to_naryadd(f1); f2 = to_naryadd(f2); n1 = (NODE)FA1(f1); n2 = (NODE)FA1(f2); @@ -2501,9 +2496,7 @@ int fnode_normalize_comp(FNODE f1,FNODE f2) else { n1 = NEXT(n1); n2 = NEXT(n2); } - if ( n1 ) return 1; - else if ( n2 ) return -1; - else return 0; + return n1?1:(n2?-1:0); } if ( IS_NARYMUL(f1) || IS_NARYMUL(f2) ) { fnode_coef_body(f1,&c1,&b1); @@ -2516,9 +2509,7 @@ int fnode_normalize_comp(FNODE f1,FNODE f2) n1 = NEXT(n1); n2 = NEXT(n2); } if ( !n1 || !n2 ) { - if ( n1 ) return 1; - else if ( n2 ) return -1; - else return 0; + return n1?1:(n2?-1:0); } fnode_base_exp(BDY(n1),&b1,&e1); fnode_base_exp(BDY(n2),&b2,&e2); @@ -2535,14 +2526,12 @@ int fnode_normalize_comp(FNODE f1,FNODE f2) subnum(0,eval(e1),eval(e2),&ee); r = compnum(0,ee,0); if ( r > 0 ) { - /* e1>e2 */ g = mkfnode(3,I_BOP,pwrfs,b1,mkfnode(1,I_FORMULA,ee)); MKNODE(n1,g,n1); } else if ( r < 0 ) { - /* e1