version 1.6, 2001/05/02 09:03:53 |
version 1.7, 2001/06/07 04:54:40 |
|
|
* 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_contrib2/asir2000/engine/E.c,v 1.5 2001/04/20 03:10:36 noro Exp $ |
* $OpenXM: OpenXM_contrib2/asir2000/engine/E.c,v 1.6 2001/05/02 09:03:53 noro Exp $ |
*/ |
*/ |
#include "ca.h" |
#include "ca.h" |
|
|
|
|
wm = W_UMALLOC(m+n); |
wm = W_UMALLOC(m+n); |
|
|
for ( q = ONE, t = 0, c = 0, index = 0; ; ) { |
for ( q = ONE, t = 0, c = 0, index = 0; ; ) { |
mod = lprime[index++]; |
mod = get_lprime(index++); |
if ( !mod ) |
|
error("henzq1 : lprime[] exhausted."); |
|
if ( !rem(NM((Q)LC(g)),mod) || !rem(NM((Q)LC(h)),mod) ) |
if ( !rem(NM((Q)LC(g)),mod) || !rem(NM((Q)LC(h)),mod) ) |
continue; |
continue; |
ptomp(mod,g,&tg); ptomp(mod,h,&th); |
ptomp(mod,g,&tg); ptomp(mod,h,&th); |
|
|
mulp(CO,gc0,(P)q,&c); gc0 = c; mulp(CO,hc0,(P)q,&c); hc0 = c; |
mulp(CO,gc0,(P)q,&c); gc0 = c; mulp(CO,hc0,(P)q,&c); hc0 = c; |
} |
} |
for ( index = 0; ; ) { |
for ( index = 0; ; ) { |
mod = lprime[index++]; |
mod = get_lprime(index++); |
if ( !mod ) |
|
error("henzq1 : lprime[] exhausted."); |
|
if ( !rem(NM((Q)zzz),mod) || |
if ( !rem(NM((Q)zzz),mod) || |
!rem(NM((Q)LC(g)),mod) || |
!rem(NM((Q)LC(g)),mod) || |
!rem(NM((Q)LC(h)),mod) ) |
!rem(NM((Q)LC(h)),mod) ) |