version 1.45, 2003/08/25 08:57:31 |
version 1.47, 2003/08/25 09:19:43 |
|
|
/* $OpenXM: OpenXM_contrib2/asir2000/engine/nd.c,v 1.44 2003/08/22 08:32:51 noro Exp $ */ |
/* $OpenXM: OpenXM_contrib2/asir2000/engine/nd.c,v 1.46 2003/08/25 09:16:55 noro Exp $ */ |
|
|
#include "ca.h" |
#include "ca.h" |
#include "inline.h" |
#include "inline.h" |
Line 1906 int nd_newps(int mod,ND a,ND aq) |
|
Line 1906 int nd_newps(int mod,ND a,ND aq) |
|
} |
} |
if ( a && aq ) { |
if ( a && aq ) { |
/* trace lifting */ |
/* trace lifting */ |
if ( !rem(NM(HCQ(aq)),mod) ) return -1; |
if ( !rem(NM(HCQ(aq)),mod) ) |
|
return -1; |
} |
} |
NEWRHist(r); nd_psh[nd_psn] = r; |
NEWRHist(r); nd_psh[nd_psn] = r; |
if ( aq ) { |
if ( aq ) { |
Line 2878 NDV dptondv(int mod,DP p) |
|
Line 2879 NDV dptondv(int mod,DP p) |
|
DP q; |
DP q; |
int l,i,n; |
int l,i,n; |
|
|
if ( !p ) return 0; |
|
for ( t = BDY(p), l = 0; t; t = NEXT(t), l++ ); |
|
if ( mod ) { |
if ( mod ) { |
_dp_mod(p,mod,0,&q); p = q; |
_dp_mod(p,mod,0,&q); p = q; |
|
} |
|
if ( !p ) return 0; |
|
for ( t = BDY(p), l = 0; t; t = NEXT(t), l++ ); |
|
if ( mod ) |
m0 = m = (NMV)MALLOC_ATOMIC(l*nmv_adv); |
m0 = m = (NMV)MALLOC_ATOMIC(l*nmv_adv); |
} else |
else |
m0 = m = (NMV)MALLOC(l*nmv_adv); |
m0 = m = (NMV)MALLOC(l*nmv_adv); |
n = NV(p); |
n = NV(p); |
for ( t = BDY(p); t; i++, t = NEXT(t), NMV_ADV(m) ) { |
for ( t = BDY(p); t; t = NEXT(t), NMV_ADV(m) ) { |
if ( mod ) CM(m) = ITOS(C(t)); |
if ( mod ) CM(m) = ITOS(C(t)); |
else CQ(m) = (Q)C(t); |
else CQ(m) = (Q)C(t); |
dltondl(n,DL(t),DL(m)); |
dltondl(n,DL(t),DL(m)); |