version 1.4, 2000/08/22 05:04:04 |
version 1.6, 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/PU.c,v 1.3 2000/08/21 08:31:26 noro Exp $ |
* $OpenXM: OpenXM_contrib2/asir2000/engine/PU.c,v 1.5 2001/03/29 09:49:57 noro Exp $ |
*/ |
*/ |
#include "ca.h" |
#include "ca.h" |
|
|
|
|
factorial(QTOS(n)+QTOS(m),&t); |
factorial(QTOS(n)+QTOS(m),&t); |
mulq(u,t,&s); addq(s,s,&f); |
mulq(u,t,&s); addq(s,s,&f); |
for ( index = 0, q = ONE, c = 0; cmpq(f,q) >= 0; ) { |
for ( index = 0, q = ONE, c = 0; cmpq(f,q) >= 0; ) { |
mod = lprime[index++]; |
mod = get_lprime(index++); |
if ( !mod ) |
|
error("sqfrum : lprime[] exhausted."); |
|
ptomp(mod,LC(q1),&tg); |
ptomp(mod,LC(q1),&tg); |
if ( !tg ) |
if ( !tg ) |
continue; |
continue; |
|
|
factorial(QTOS(n)+QTOS(m),&t); |
factorial(QTOS(n)+QTOS(m),&t); |
mulq(u,t,&s); addq(s,s,&f); |
mulq(u,t,&s); addq(s,s,&f); |
for ( index = 0, q = ONE, c = 0; cmpq(f,q) >= 0; ) { |
for ( index = 0, q = ONE, c = 0; cmpq(f,q) >= 0; ) { |
mod = lprime[index++]; |
mod = get_lprime(index++); |
if ( !mod ) |
|
error("sqfrum : lprime[] exhausted."); |
|
ptomp(mod,LC(q1),&tg); |
ptomp(mod,LC(q1),&tg); |
if ( !tg ) |
if ( !tg ) |
continue; |
continue; |
|
|
{ |
{ |
Q c; |
Q c; |
|
|
ptozp(p,1,&c,pr); |
if ( qpcheck((Obj)p) ) |
|
ptozp(p,1,&c,pr); |
|
else |
|
*pr = p; |
} |
} |
|
|
void mindegp(vl,p,mvlp,pr) |
void mindegp(vl,p,mvlp,pr) |