version 1.14, 2003/08/26 05:06:01 |
version 1.15, 2003/08/26 05:52:43 |
|
|
/* $OpenXM: OpenXM/src/kan96xx/Kan/ecart.c,v 1.13 2003/08/22 01:02:45 takayama Exp $ */ |
/* $OpenXM: OpenXM/src/kan96xx/Kan/ecart.c,v 1.14 2003/08/26 05:06:01 takayama Exp $ */ |
#include <stdio.h> |
#include <stdio.h> |
#include "datatype.h" |
#include "datatype.h" |
#include "extern2.h" |
#include "extern2.h" |
Line 297 static POLY reduction_ecart0(r,gset,needSyz,syzp) |
|
Line 297 static POLY reduction_ecart0(r,gset,needSyz,syzp) |
|
POLY cf_o; |
POLY cf_o; |
POLY syz_o; |
POLY syz_o; |
POLY r_0; |
POLY r_0; |
|
int se; |
struct coeff *cont; |
struct coeff *cont; |
|
|
extern struct ring *CurrentRingp; |
extern struct ring *CurrentRingp; |
Line 381 static POLY reduction_ecart0(r,gset,needSyz,syzp) |
|
Line 382 static POLY reduction_ecart0(r,gset,needSyz,syzp) |
|
} |
} |
} |
} |
if (r ISZERO) goto ss; |
if (r ISZERO) goto ss; |
/*r = ecartDivideSv(r,&se); r = r/s^? Don't do this. */ |
|
|
/* r = r/s^? Don't do this?? */ |
|
r = ecartDivideSv(r,&se); |
|
if (needSyz && (se > 0)) { |
|
POLY tt; |
|
tt = cxx(1,0,-se,rp); |
|
cf = mpMult(tt,cf); |
|
syz = cpMult(toSyzCoeff(tt),syz); |
|
} |
|
|
} |
} |
}while (ell >= 0); |
}while (ell >= 0); |
|
|
Line 519 static POLY reduction_ecart1(r,gset,needSyz,syzp) |
|
Line 529 static POLY reduction_ecart1(r,gset,needSyz,syzp) |
|
|
|
if (r ISZERO) goto ss1; |
if (r ISZERO) goto ss1; |
r = ecartDivideSv(r,&se); /* r = r/s^? */ |
r = ecartDivideSv(r,&se); /* r = r/s^? */ |
|
|
|
if (needSyz && (se > 0)) { /* It may not necessary because of dehomo*/ |
|
POLY tt; |
|
/*printf("!1/H!"); fflush(NULL);*/ /* misc-2003/ecart/t1.sm1 foo4 */ |
|
tt = cxx(1,0,-se,rp); |
|
cf = mpMult(tt,cf); |
|
syz = cpMult(toSyzCoeff(tt),syz); |
|
} |
|
|
} |
} |
}while (ell >= 0); |
}while (ell >= 0); |
|
|