version 1.2, 2000/04/05 08:32:17 |
version 1.3, 2000/05/29 08:54:46 |
|
|
/* $OpenXM: OpenXM_contrib2/asir2000/engine/Q.c,v 1.1.1.1 1999/12/03 07:39:08 noro Exp $ */ |
/* $OpenXM: OpenXM_contrib2/asir2000/engine/Q.c,v 1.2 2000/04/05 08:32:17 noro Exp $ */ |
#include "ca.h" |
#include "ca.h" |
#include "base.h" |
#include "base.h" |
#include "inline.h" |
#include "inline.h" |
|
|
nm = NALLOC(1); PL(nm) = 1; BD(nm)[0] = low; |
nm = NALLOC(1); PL(nm) = 1; BD(nm)[0] = low; |
} |
} |
kmuln(NM(t[i-1]),nm,&d); divin(d,i,&c); NTOQ(c,1,t[i]); |
kmuln(NM(t[i-1]),nm,&d); divin(d,i,&c); NTOQ(c,1,t[i]); |
|
} |
|
} |
|
|
|
/* mod m table */ |
|
/* XXX : should be optimized */ |
|
|
|
void mkwcm(k,l,m,t) |
|
int k,l,m; |
|
int *t; |
|
{ |
|
int i,n; |
|
Q *s; |
|
|
|
n = MIN(k,l); |
|
s = (Q *)ALLOCA((n+1)*sizeof(Q)); |
|
mkwc(k,l,s); |
|
for ( i = 0; i <= n; i++ ) { |
|
t[i] = rem(NM(s[i]),m); |
} |
} |
} |
} |
|
|