version 1.21, 2001/11/19 00:57:11 |
version 1.22, 2002/09/27 04:24:04 |
|
|
/* $OpenXM: OpenXM_contrib2/asir2000/engine/Hgfs.c,v 1.20 2001/10/30 10:24:35 noro Exp $ */ |
/* $OpenXM: OpenXM_contrib2/asir2000/engine/Hgfs.c,v 1.21 2001/11/19 00:57:11 noro Exp $ */ |
|
|
#include "ca.h" |
#include "ca.h" |
|
#include "inline.h" |
|
|
void lnfsf(int n,UM p0,UM p1,struct p_pair *list,UM np0,UM np1); |
void lnfsf(int n,UM p0,UM p1,struct p_pair *list,UM np0,UM np1); |
void extractcoefbm(BM f,int dx,UM r); |
void extractcoefbm(BM f,int dx,UM r); |
Line 1387 int divtp_by_sfbm(VL vl,P f,P g,P *qp) |
|
Line 1388 int divtp_by_sfbm(VL vl,P f,P g,P *qp) |
|
/* XXX generate an irreducible poly of degree n */ |
/* XXX generate an irreducible poly of degree n */ |
|
|
extern int current_gfs_q1; |
extern int current_gfs_q1; |
|
extern int *current_gfs_ntoi; |
|
|
void generate_defpoly_sfum(int n,UM *dp) |
void generate_defpoly_sfum(int n,UM *dp) |
{ |
{ |
Line 1414 void generate_defpoly_sfum(int n,UM *dp) |
|
Line 1416 void generate_defpoly_sfum(int n,UM *dp) |
|
for ( j = 0; j < i; j++ ) |
for ( j = 0; j < i; j++ ) |
w[j] = 0; |
w[j] = 0; |
w[i]++; |
w[i]++; |
for ( i = 0; i < n; i++ ) |
if ( !current_gfs_ntoi ) |
c[i] = w[i]?FTOIF(w[i]-1):0; |
for ( i = 0; i < n; i++ ) |
|
c[i] = w[i]?FTOIF(w[i]):0; |
|
else |
|
for ( i = 0; i < n; i++ ) |
|
c[i] = w[i]?FTOIF(w[i]-1):0; |
if ( !c[0] ) |
if ( !c[0] ) |
continue; |
continue; |
diffsfum(r,dr); cpyum(r,t); gcdsfum(t,dr,g); |
diffsfum(r,dr); cpyum(r,t); gcdsfum(t,dr,g); |