[BACK]Return to EZ.c CVS log [TXT][DIR] Up to [local] / OpenXM_contrib2 / asir2018 / engine

Diff for /OpenXM_contrib2/asir2018/engine/EZ.c between version 1.1 and 1.2

version 1.1, 2018/09/19 05:45:06 version 1.2, 2018/09/28 08:20:28
Line 45 
Line 45 
  * DEVELOPER SHALL HAVE NO LIABILITY IN CONNECTION WITH THE USE,   * DEVELOPER SHALL HAVE NO LIABILITY IN CONNECTION WITH THE USE,
  * PERFORMANCE OR NON-PERFORMANCE OF THE SOFTWARE.   * PERFORMANCE OR NON-PERFORMANCE OF THE SOFTWARE.
  *   *
  * $OpenXM$   * $OpenXM: OpenXM_contrib2/asir2018/engine/EZ.c,v 1.1 2018/09/19 05:45:06 noro Exp $
 */  */
 #include "ca.h"  #include "ca.h"
   
Line 214  void ezgcdpp(VL vl,DCP dc,P f,P *r)
Line 214  void ezgcdpp(VL vl,DCP dc,P f,P *r)
     *r = (P)ONE;      *r = (P)ONE;
     return;      return;
   }    }
   k = QTOS(DEG(dc)) - 1;    k = ZTOS(DEG(dc)) - 1;
 /*  ezgcd1p(vl,COEF(dc),f,&gcd); */  /*  ezgcd1p(vl,COEF(dc),f,&gcd); */
   ezgcdnp(vl,COEF(dc),&f,1,&gcd);    ezgcdnp(vl,COEF(dc),&f,1,&gcd);
   g = gcd; divsp(vl,f,gcd,&h);    g = gcd; divsp(vl,f,gcd,&h);
Line 251  void uezgcdpp(DCP dc,P f,P *r)
Line 251  void uezgcdpp(DCP dc,P f,P *r)
     return;      return;
   }    }
   
   k = QTOS(DEG(dc)) - 1;    k = ZTOS(DEG(dc)) - 1;
   uezgcd1p(COEF(dc),f,&gcd);    uezgcd1p(COEF(dc),f,&gcd);
   g = gcd; divsp(CO,f,gcd,&h);    g = gcd; divsp(CO,f,gcd,&h);
   for ( ; k > 0; k-- ) {    for ( ; k > 0; k-- ) {
Line 482  void uexgcdnp(VL vl,P p1,P *ps,int n,VN vn,Q cbd,P *g,
Line 482  void uexgcdnp(VL vl,P p1,P *ps,int n,VN vn,Q cbd,P *g,
     gcdum(mod,wg,wh,wt); cpyum(wt,wgcd);      gcdum(mod,wg,wh,wt); cpyum(wt,wgcd);
     if ( DEG(wgcd) > 0 )      if ( DEG(wgcd) > 0 )
       continue;        continue;
     STOQ(mod,tq); addq(cbd,cbd,&bb);      STOZ(mod,tq); addq(cbd,cbd,&bb);
     for ( k = 1; cmpq((Q)tq,bb) < 0; k++ ) {      for ( k = 1; cmpq((Q)tq,bb) < 0; k++ ) {
       mulz(tq,tq,&tq1); tq = tq1;        mulz(tq,tq,&tq1); tq = tq1;
     }      }
Line 611  void ezgcdnpp(VL vl,DCP dc,P *pl,int m,P *r)
Line 611  void ezgcdnpp(VL vl,DCP dc,P *pl,int m,P *r)
       return;        return;
     }      }
   }    }
   for ( g = gcd, k = QTOS(DEG(dc)) - 1; k > 0; k-- ) {    for ( g = gcd, k = ZTOS(DEG(dc)) - 1; k > 0; k-- ) {
     ezgcdnp(vl,g,pm,m,&t);      ezgcdnp(vl,g,pm,m,&t);
     if ( NUM(t) )      if ( NUM(t) )
       break;        break;

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.2

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>