version 1.179, 2010/02/03 07:23:06 |
version 1.183, 2010/02/22 05:27:53 |
|
|
/* $OpenXM: OpenXM_contrib2/asir2000/engine/nd.c,v 1.178 2009/10/13 08:53:51 noro Exp $ */ |
/* $OpenXM: OpenXM_contrib2/asir2000/engine/nd.c,v 1.182 2010/02/22 02:20:43 noro Exp $ */ |
|
|
#include "nd.h" |
#include "nd.h" |
|
|
Line 3137 void nd_gr_trace(LIST f,LIST v,int trace,int homo,int |
|
Line 3137 void nd_gr_trace(LIST f,LIST v,int trace,int homo,int |
|
ndv_homogenize((NDV)BDY(t),obpe,oadv,oepos,ompos); |
ndv_homogenize((NDV)BDY(t),obpe,oadv,oepos,ompos); |
} |
} |
while ( 1 ) { |
while ( 1 ) { |
|
tl1 = tl2 = tl3 = tl4 = 0; |
if ( Demand ) |
if ( Demand ) |
nd_demand = 1; |
nd_demand = 1; |
|
ret = ndv_setup(m,1,fd0,0,0); |
if ( nd_gentrace ) { |
if ( nd_gentrace ) { |
MKLIST(l1,nd_tracelist); MKNODE(nd_alltracelist,l1,0); |
MKLIST(l1,nd_tracelist); MKNODE(nd_alltracelist,l1,0); |
} |
} |
ret = ndv_setup(m,1,fd0,0,0); |
|
if ( ret ) |
if ( ret ) |
cand = f4?nd_f4_trace(m,&perm):nd_gb_trace(m,ishomo || homo,&perm); |
cand = f4?nd_f4_trace(m,&perm):nd_gb_trace(m,ishomo || homo,&perm); |
if ( !ret || !cand ) { |
if ( !ret || !cand ) { |
Line 4109 void weyl_mul_nm_nmv(int n,int mod,NM m0,NMV m1,NM *ta |
|
Line 4110 void weyl_mul_nm_nmv(int n,int mod,NM m0,NMV m1,NM *ta |
|
ndl_addto(DL(tab[u]),d); |
ndl_addto(DL(tab[u]),d); |
if ( mod ) { |
if ( mod ) { |
c0 = CM(tab[u]); DMAR(c0,c,0,mod,c1); CM(tab[u]) = c1; |
c0 = CM(tab[u]); DMAR(c0,c,0,mod,c1); CM(tab[u]) = c1; |
} else { |
} else if ( nd_vc ) |
|
mulp(nd_vc,CP(tab[u]),(P)q,&CP(tab[u])); |
|
else { |
mulq(CQ(tab[u]),q,&q1); CQ(tab[u]) = q1; |
mulq(CQ(tab[u]),q,&q1); CQ(tab[u]) = q1; |
} |
} |
} |
} |
Line 4121 void weyl_mul_nm_nmv(int n,int mod,NM m0,NMV m1,NM *ta |
|
Line 4124 void weyl_mul_nm_nmv(int n,int mod,NM m0,NMV m1,NM *ta |
|
ndl_add(DL(tab[u]),d,DL(t)); |
ndl_add(DL(tab[u]),d,DL(t)); |
if ( mod ) { |
if ( mod ) { |
c0 = CM(tab[u]); DMAR(c0,c,0,mod,c1); CM(t) = c1; |
c0 = CM(tab[u]); DMAR(c0,c,0,mod,c1); CM(t) = c1; |
} else |
} else if ( nd_vc ) |
|
mulp(nd_vc,CP(tab[u]),(P)q,&CP(t)); |
|
else |
mulq(CQ(tab[u]),q,&CQ(t)); |
mulq(CQ(tab[u]),q,&CQ(t)); |
*p = t; |
*p = t; |
} |
} |