=================================================================== RCS file: /home/cvs/OpenXM_contrib2/asir2000/lib/weight,v retrieving revision 1.24 retrieving revision 1.32 diff -u -p -r1.24 -r1.32 --- OpenXM_contrib2/asir2000/lib/weight 2004/01/08 14:45:05 1.24 +++ OpenXM_contrib2/asir2000/lib/weight 2004/02/14 18:28:39 1.32 @@ -4,7 +4,6 @@ load("gr")$ #define EPS 1E-6 #define TINY 1E-20 #define MAX_ITER 100 -#define ROUND_THRESHOLD 0.4 def rotate(A,I,J,K,L,C,S){ @@ -120,9 +119,8 @@ def interval2value(A,Vars){ print("bug")$ return []$ } - - if(length(B)==0){ - if(A) + else if(length(B)==0){ + if(fop(A)==0) return [Vars,1]$ else return []$ @@ -137,6 +135,8 @@ def interval2value(A,Vars){ return [Vars,E[0][1]+1]$ else if(fop(B[0])==11) return [Vars,E[0][1]-1]$ + else if(fop(B[0])==8) + return [Vars,E[0][1]]$ else return []$ } @@ -198,23 +198,10 @@ def fixedpoint(A,FLAG){ return fixpointmain(F,Vars)$ } -def nonzerovec(A){ - - for(I=0;IB ? -1:0))$ } -def worder(A,B){ - return (A[0]B[0] ? -1:0))$ -} - def bsort(A){ K=size(A)[0]-1$ @@ -232,101 +219,23 @@ def bsort(A){ return A$ } -def perm(I,P,TMP){ +def wsort(A,B,C,ID){ - if(I>0){ - TMP=perm(I-1,P,TMP)$ - for(J=I-1;J>=0;J--){ - T=P[I]$ - P[I]=P[J]$ - P[J]=T$ - TMP=perm(I-1,P,TMP)$ - T=P[I]$ - P[I]=P[J]$ - P[J]=T$ - } + D=newvect(length(B))$ + for(I=0;I