version 1.67, 2003/09/12 14:51:27 |
version 1.68, 2003/09/12 15:07:11 |
|
|
/* $OpenXM: OpenXM_contrib2/asir2000/engine/nd.c,v 1.66 2003/09/12 08:26:19 noro Exp $ */ |
/* $OpenXM: OpenXM_contrib2/asir2000/engine/nd.c,v 1.67 2003/09/12 14:51:27 noro Exp $ */ |
|
|
#include "ca.h" |
#include "ca.h" |
#include "inline.h" |
#include "inline.h" |
Line 3928 NDV vect_to_ndv(UINT *vect,int spcol,int col,int *rhea |
|
Line 3928 NDV vect_to_ndv(UINT *vect,int spcol,int col,int *rhea |
|
} |
} |
} |
} |
|
|
NODE nd_sp_f4(int m,ND_pairs l,PGeoBucket bucket) |
int nd_sp_f4(int m,ND_pairs l,PGeoBucket bucket,NODE *s) |
{ |
{ |
ND_pairs t; |
ND_pairs t; |
NODE sp0,sp; |
NODE sp0,sp; |
Line 3944 NODE nd_sp_f4(int m,ND_pairs l,PGeoBucket bucket) |
|
Line 3944 NODE nd_sp_f4(int m,ND_pairs l,PGeoBucket bucket) |
|
add_pbucket_symbolic(bucket,spol); |
add_pbucket_symbolic(bucket,spol); |
} |
} |
} |
} |
return sp0; |
*s = sp0; |
|
return 1; |
} |
} |
|
|
int nd_symbolic_preproc(PGeoBucket bucket,UINT **s0vect,NODE *r) |
int nd_symbolic_preproc(PGeoBucket bucket,UINT **s0vect,NODE *r) |
Line 4020 NODE nd_f4(int m) |
|
Line 4021 NODE nd_f4(int m) |
|
l = nd_minsugarp(d,&d); |
l = nd_minsugarp(d,&d); |
sugar = SG(l); |
sugar = SG(l); |
bucket = create_pbucket(); |
bucket = create_pbucket(); |
if ( !(sp0 = nd_sp_f4(m,l,bucket)) |
stat = nd_sp_f4(m,l,bucket,&sp0); |
|| !(col = nd_symbolic_preproc(bucket,&s0vect,&rp0)) ) { |
if ( !stat ) { |
|
for ( t = l; NEXT(t); t = NEXT(t) ); |
|
NEXT(t) = d; d = l; |
|
d = nd_reconstruct(m,0,d); |
|
continue; |
|
} |
|
if ( !sp0 ) continue; |
|
col = nd_symbolic_preproc(bucket,&s0vect,&rp0); |
|
if ( !col ) { |
for ( t = l; NEXT(t); t = NEXT(t) ); |
for ( t = l; NEXT(t); t = NEXT(t) ); |
NEXT(t) = d; d = l; |
NEXT(t) = d; d = l; |
d = nd_reconstruct(m,0,d); |
d = nd_reconstruct(m,0,d); |