version 1.11, 2001/10/09 01:36:09 |
version 1.14, 2003/01/16 00:33:28 |
|
|
* 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/C.c,v 1.10 2001/06/29 09:08:53 noro Exp $ |
* $OpenXM: OpenXM_contrib2/asir2000/engine/C.c,v 1.13 2003/01/04 09:06:17 noro Exp $ |
*/ |
*/ |
#include "ca.h" |
#include "ca.h" |
#include "inline.h" |
#include "inline.h" |
Line 225 void ptosfp(P p,P *pr) |
|
Line 225 void ptosfp(P p,P *pr) |
|
if ( !p ) |
if ( !p ) |
*pr = 0; |
*pr = 0; |
else if ( NUM(p) ) { |
else if ( NUM(p) ) { |
qtogfs((Q)p,&a); *pr = (P)a; |
if ( NID((Num)p) == N_GFS ) |
|
*pr = (P)p; |
|
else { |
|
qtogfs((Q)p,&a); *pr = (P)a; |
|
} |
} else { |
} else { |
for ( dc = DC(p), dcr0 = 0; dc; dc = NEXT(dc) ) { |
for ( dc = DC(p), dcr0 = 0; dc; dc = NEXT(dc) ) { |
ptosfp(COEF(dc),&t); |
ptosfp(COEF(dc),&t); |
Line 261 void sfptop(P f,P *gp) |
|
Line 265 void sfptop(P f,P *gp) |
|
} |
} |
} |
} |
|
|
|
void sfptopsfp(P f,V v,P *gp) |
|
{ |
|
DCP dc,dcr,dcr0; |
|
Q q; |
|
P fq; |
|
|
|
if ( !f ) |
|
*gp = 0; |
|
else if ( NUM(f) ) |
|
gfstopgfs((GFS)f,v,gp); |
|
else { |
|
for ( dc = DC(f), dcr0 = 0; dc; dc = NEXT(dc) ) { |
|
NEXTDC(dcr0,dcr); DEG(dcr) = DEG(dc); |
|
sfptopsfp(COEF(dc),v,&COEF(dcr)); |
|
} |
|
NEXT(dcr) = 0; MKP(VR(f),dcr0,*gp); |
|
} |
|
} |
|
|
void sf_galois_action(P p,Q e,P *pr) |
void sf_galois_action(P p,Q e,P *pr) |
{ |
{ |
DCP dc,dcr,dcr0; |
DCP dc,dcr,dcr0; |
Line 404 void ptosfum(P f,UM wf) |
|
Line 427 void ptosfum(P f,UM wf) |
|
|
|
if ( OID(f) == O_N ) { |
if ( OID(f) == O_N ) { |
DEG(wf) = 0; |
DEG(wf) = 0; |
COEF(wf)[0] = FTOIF(CONT((GFS)f)); |
ntogfs((Obj)f,&c); |
|
COEF(wf)[0] = FTOIF(CONT(c)); |
return; |
return; |
} |
} |
|
|
Line 412 void ptosfum(P f,UM wf) |
|
Line 436 void ptosfum(P f,UM wf) |
|
COEF(wf)[i] = 0; |
COEF(wf)[i] = 0; |
|
|
for ( dc = DC(f); dc; dc = NEXT(dc) ) { |
for ( dc = DC(f); dc; dc = NEXT(dc) ) { |
c = (GFS)COEF(dc); |
ntogfs((Obj)COEF(dc),&c); |
if ( c ) |
if ( c ) |
COEF(wf)[QTOS(DEG(dc))] = FTOIF(CONT(c)); |
COEF(wf)[QTOS(DEG(dc))] = FTOIF(CONT(c)); |
} |
} |