version 1.1, 2018/09/19 05:45:06 |
version 1.2, 2018/09/28 08:20:28 |
|
|
* 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; |