0
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
1 /* Copyright 1990-2011, Jsoftware Inc. All rights reserved. */ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
2 /* License in license.txt. */ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
3 /* */ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
4 /* Verbs: Comparatives */ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
5 /* */ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
6 /* Special code for the following cases: */ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
7 /* comp i. 0: i.&0@:comp */ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
8 /* comp i. 1: i.&1@:comp */ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
9 /* comp i: 0: i:&0@:comp */ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
10 /* comp i: 1: i:&1@:comp */ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
11 /* [: + / comp + /@:comp */ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
12 /* [: +./ comp +./@:comp 1: e. comp */ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
13 /* 0: e. comp */ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
14 /* [: I. comp I.@:comp */ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
15 /* where comp is one of the following: */ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
16 /* = ~: < <: >: > E. e. */ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
17 |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
18 #include "j.h" |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
19 #include "ve.h" |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
20 #include "vcomp.h" |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
21 |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
22 |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
23 #define INDF(f,T0,T1,F) \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
24 static F2(f){I an,n,wn;T0*av,x;T1*wv,y; \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
25 an=AN(a); av=(T0*)AV(a); \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
26 wn=AN(w); wv=(T1*)AV(w); n=AR(a)&&AR(w)?MAX(an,wn):AR(a)?an:wn; \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
27 if (!AR(a)){x=*av; DO(n, y=*wv++; if(F(x,y))R sc(i););} \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
28 else if(!AR(w)){y=*wv; DO(n, x=*av++; if(F(x,y))R sc(i););} \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
29 else { DO(n, x=*av++; y=*wv++; if(F(x,y))R sc(i););} \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
30 R sc(n); \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
31 } |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
32 |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
33 #define JNDF(f,T0,T1,F) \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
34 static F2(f){I an,n,wn;T0*av,x;T1*wv,y; \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
35 an=AN(a); av=(T0*)AV(a); \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
36 wn=AN(w); wv=(T1*)AV(w); n=AR(a)&&AR(w)?MAX(an,wn):AR(a)?an:wn; \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
37 if (!AR(a)){x=*av; wv+=n; DO(n, y=*--wv; if(F(x,y))R sc(n-1-i););} \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
38 else if(!AR(w)){y=*wv; av+=n; DO(n, x=*--av; if(F(x,y))R sc(n-1-i););} \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
39 else {av+=n; wv+=n; DO(n, x=*--av; y=*--wv; if(F(x,y))R sc(n-1-i););} \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
40 R sc(n); \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
41 } |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
42 |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
43 #define SUMF(f,T0,T1,F) \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
44 static F2(f){I an,m=0,n,wn;T0*av,x;T1*wv,y; \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
45 an=AN(a); av=(T0*)AV(a); \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
46 wn=AN(w); wv=(T1*)AV(w); n=AR(a)&&AR(w)?MAX(an,wn):AR(a)?an:wn; \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
47 if (!AR(a)){x=*av; DO(n, y=*wv++; if(F(x,y))++m;);} \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
48 else if(!AR(w)){y=*wv; DO(n, x=*av++; if(F(x,y))++m;);} \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
49 else { DO(n, x=*av++; y=*wv++; if(F(x,y))++m;);} \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
50 R sc(m); \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
51 } |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
52 |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
53 #define ANYF(f,T0,T1,F) \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
54 static F2(f){I an,n,wn;T0*av,x;T1*wv,y; \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
55 an=AN(a); av=(T0*)AV(a); \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
56 wn=AN(w); wv=(T1*)AV(w); n=AR(a)&&AR(w)?MAX(an,wn):AR(a)?an:wn; \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
57 if (!AR(a)){x=*av; DO(n, y=*wv++; if(F(x,y))R one;);} \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
58 else if(!AR(w)){y=*wv; DO(n, x=*av++; if(F(x,y))R one;);} \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
59 else { DO(n, x=*av++; y=*wv++; if(F(x,y))R one;);} \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
60 R zero; \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
61 } |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
62 |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
63 #define ALLF(f,T0,T1,F) \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
64 static F2(f){I an,n,wn;T0*av,x;T1*wv,y; \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
65 an=AN(a); av=(T0*)AV(a); \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
66 wn=AN(w); wv=(T1*)AV(w); n=AR(a)&&AR(w)?MAX(an,wn):AR(a)?an:wn; \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
67 if (!AR(a)){x=*av; DO(n, y=*wv++; if(!F(x,y))R zero;);} \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
68 else if(!AR(w)){y=*wv; DO(n, x=*av++; if(!F(x,y))R zero;);} \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
69 else { DO(n, x=*av++; y=*wv++; if(!F(x,y))R zero;);} \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
70 R one; \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
71 } |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
72 |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
73 #define IFB1 \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
74 {if(zu==zv){I m=zv-AV(z); RZ(z=ext(0,z)); zv=m+AV(z); zu=AN(z)+AV(z);} *zv++=i;} |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
75 |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
76 #define IFBF(f,T0,T1,F) \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
77 static F2(f){A z;I an,n,wn,*zu,*zv;T0*av,x;T1*wv,y; \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
78 an=AN(a); av=(T0*)AV(a); \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
79 wn=AN(w); wv=(T1*)AV(w); n=AR(a)&&AR(w)?MAX(an,wn):AR(a)?an:wn; \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
80 RZ(z=exta(INT,1L,1L,MAX(22,n/8))); zv=AV(z); zu=zv+AN(z); \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
81 if (!AR(a)){x=*av; DO(n, y=*wv++; if(F(x,y))IFB1;);} \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
82 else if(!AR(w)){y=*wv; DO(n, x=*av++; if(F(x,y))IFB1;);} \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
83 else { DO(n, x=*av++; y=*wv++; if(F(x,y))IFB1;);} \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
84 AN(z)=*AS(z)=zv-AV(z); R z; \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
85 } |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
86 |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
87 |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
88 /* Now define byte-parallel (4 bytes at a time) versions of above */ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
89 |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
90 #define JNDBR(yy) if(r&&(y=yy))DO(r, if(yv[r-1-i])R sc(n-1-i);); |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
91 |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
92 #if SY_64 |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
93 #define ASSIGNX(v) {x=*v; xv[1]=xv[2]=xv[3]=xv[4]=xv[5]=xv[6]=xv[7]=xv[0];} |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
94 #define INDB3 R sc( i*SZI+(yv[0]?0:yv[1]?1:yv[2]?2:yv[3]?3:yv[4]?4:yv[5]?5:yv[6]?6:7) ); |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
95 #define JNDB3 R sc(n-1-(r+i*SZI+(yv[7]?0:yv[6]?1:yv[5]?2:yv[4]?3:yv[3]?4:yv[2]?5:yv[1]?6:7))); |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
96 #else |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
97 #define ASSIGNX(v) {x=*v; xv[1]=xv[2]=xv[3]=xv[0];} |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
98 #define INDB3 R sc( i*SZI+(yv[0]?0:yv[1]?1:yv[2]?2:3) ); |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
99 #define JNDB3 R sc(n-1-(r+i*SZI+(yv[3]?0:yv[2]?1:yv[1]?2:3))); |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
100 #endif |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
101 |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
102 #define INDB(f,T0,T1,F) \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
103 static F2(f){B*xv,*yv;I an,*av,n,q,r,wn,*wv,x,y; \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
104 an=AN(a); av=AV(a); \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
105 wn=AN(w); wv=AV(w); n=AR(a)&&AR(w)?MAX(an,wn):AR(a)?an:wn; \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
106 q=n/SZI; r=n%SZI; \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
107 xv=(B*)&x; yv=(B*)&y; \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
108 if (!AR(a)){ASSIGNX(av); DO(q, if(y=F(x, *wv++))INDB3;); y=F(x, *wv);} \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
109 else if(!AR(w)){ASSIGNX(wv); DO(q, if(y=F(*av++,x ))INDB3;); y=F(*av,x );} \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
110 else { DO(q, if(y=F(*av++,*wv++))INDB3;); y=F(*av,*wv);} \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
111 if(y)DO(r, if(yv[i])R sc(i+q*SZI);); \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
112 R sc(n); \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
113 } |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
114 |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
115 #define JNDB(f,T0,T1,F) \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
116 static F2(f){B*xv,*yv;I an,*av,n,q,r,wn,*wv,x,y; \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
117 an=AN(a); av=AV(a); \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
118 wn=AN(w); wv=AV(w); n=AR(a)&&AR(w)?MAX(an,wn):AR(a)?an:wn; \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
119 q=n/SZI; r=n%SZI; \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
120 xv=(B*)&x; yv=(B*)&y; \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
121 if (!AR(a)){ASSIGNX(av); wv+=q; JNDBR(F(x, *wv)); DO(q, if(y=F(x, *--wv))JNDB3;);} \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
122 else if(!AR(w)){ASSIGNX(wv); av+=q; JNDBR(F(*av,x )); DO(q, if(y=F(*--av,x ))JNDB3;);} \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
123 else {av+=q; wv+=q; JNDBR(F(*av,*wv)); DO(q, if(y=F(*--av,*--wv))JNDB3;);} \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
124 R sc(n); \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
125 } |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
126 |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
127 #define SUMB(f,T0,T1,F) \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
128 static F2(f){B*xv;I an,*av,n,p,q,r,r1,wn,*wv,x,z=0;UC*tu;UI t; \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
129 an=AN(a); av=AV(a); \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
130 wn=AN(w); wv=AV(w); n=AR(a)&&AR(w)?MAX(an,wn):AR(a)?an:wn; \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
131 p=n/SZI; q=p/255; r=p%255; r1=n%SZI; \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
132 xv=(B*)&x; tu=(UC*)&t; \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
133 if (!AR(a)){ \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
134 ASSIGNX(av); \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
135 DO(q, t=0; DO(255, t+=F(x, *wv++);); DO(SZI,z+=tu[i];);); \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
136 t=0; DO(r, t+=F(x, *wv++);); DO(SZI,z+=tu[i];); x=F(x, *wv); \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
137 }else if(!AR(w)){ \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
138 ASSIGNX(wv); \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
139 DO(q, t=0; DO(255, t+=F(*av++,x );); DO(SZI,z+=tu[i];);); \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
140 t=0; DO(r, t+=F(*av++,x );); DO(SZI,z+=tu[i];); x=F(*av,x ); \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
141 }else{ \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
142 DO(q, t=0; DO(255, t+=F(*av++,*wv++);); DO(SZI,z+=tu[i];);); \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
143 t=0; DO(r, t+=F(*av++,*wv++);); DO(SZI,z+=tu[i];); x=F(*av,*wv); \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
144 } \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
145 DO(r1, z+=xv[i];); \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
146 R sc(z); \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
147 } |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
148 |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
149 #define ANYB(f,T0,T1,F) \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
150 static F2(f){B*xv; I an,*av,n,p,r1, wn,*wv,x; \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
151 an=AN(a); av=AV(a); \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
152 wn=AN(w); wv=AV(w); n=AR(a)&&AR(w)?MAX(an,wn):AR(a)?an:wn; \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
153 p=n/SZI; r1=n%SZI;; \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
154 xv=(B*)&x; \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
155 if (!AR(a)){ASSIGNX(av); DO(p, if( F(x, *wv++))R one; ); x=F(x, *wv);} \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
156 else if(!AR(w)){ASSIGNX(wv); DO(p, if( F(*av++,x ))R one; ); x=F(*av,x );} \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
157 else { DO(p, if( F(*av++,*wv++))R one; ); x=F(*av,*wv);} \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
158 DO(r1, if(xv[i])R one;); \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
159 R zero; \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
160 } |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
161 |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
162 #define ALLB(f,T0,T1,F) \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
163 static F2(f){B*xv;C*tv;I an,*av,n,p,r1,t,wn,*wv,x; \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
164 an=AN(a); av=AV(a); \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
165 wn=AN(w); wv=AV(w); n=AR(a)&&AR(w)?MAX(an,wn):AR(a)?an:wn; \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
166 p=n/SZI; r1=n%SZI;; \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
167 xv=(B*)&x; tv=(C*)&t; DO(SZI, tv[i]=1;); \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
168 if (!AR(a)){ASSIGNX(av); DO(p, if(t!=F(x, *wv++))R zero;); x=F(x, *wv);} \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
169 else if(!AR(w)){ASSIGNX(wv); DO(p, if(t!=F(*av++,x ))R zero;); x=F(*av,x );} \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
170 else { DO(p, if(t!=F(*av++,*wv++))R zero;); x=F(*av,*wv);} \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
171 DO(r1, if(!xv[i])R zero;); \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
172 R one; \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
173 } |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
174 |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
175 #if SY_64 |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
176 #define IFB3 \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
177 {if(zu<zv){I c=zv-AV(z); RZ(z=ext(0,z)); zv=c+AV(z); zu=AV(z)+AN(z)-SZI;} \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
178 if(yv[0])*zv++= m; \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
179 if(yv[1])*zv++=1+m; \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
180 if(yv[2])*zv++=2+m; \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
181 if(yv[3])*zv++=3+m; \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
182 if(yv[4])*zv++=4+m; \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
183 if(yv[5])*zv++=5+m; \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
184 if(yv[6])*zv++=6+m; \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
185 if(yv[7])*zv++=7+m; \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
186 } |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
187 #else |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
188 #define IFB3 \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
189 {if(zu<zv){I c=zv-AV(z); RZ(z=ext(0,z)); zv=c+AV(z); zu=AV(z)+AN(z)-SZI;} \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
190 switch(y){ \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
191 case B0001: *zv++=3+m; break; \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
192 case B0010: *zv++=2+m; break; \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
193 case B0011: *zv++=2+m; *zv++=3+m; break; \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
194 case B0100: *zv++=1+m; break; \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
195 case B0101: *zv++=1+m; *zv++=3+m; break; \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
196 case B0110: *zv++=1+m; *zv++=2+m; break; \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
197 case B0111: *zv++=1+m; *zv++=2+m; *zv++=3+m; break; \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
198 case B1000: *zv++=m; break; \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
199 case B1001: *zv++=m; *zv++=3+m; break; \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
200 case B1010: *zv++=m; *zv++=2+m; break; \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
201 case B1011: *zv++=m; *zv++=2+m; *zv++=3+m; break; \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
202 case B1100: *zv++=m; *zv++=1+m; break; \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
203 case B1101: *zv++=m; *zv++=1+m; *zv++=3+m; break; \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
204 case B1110: *zv++=m; *zv++=1+m; *zv++=2+m; break; \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
205 case B1111: *zv++=m; *zv++=1+m; *zv++=2+m; *zv++=3+m; break; \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
206 }} |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
207 #endif |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
208 |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
209 #define IFBB(f,T0,T1,F) \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
210 static F2(f){A z;B*xv,*yv;I an,*av,m=0,n,q,r,wn,*wv,x,y,*zu,*zv; \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
211 an=AN(a); av=AV(a); \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
212 wn=AN(w); wv=AV(w); n=AR(a)&&AR(w)?MAX(an,wn):AR(a)?an:wn; \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
213 q=n/SZI; r=n%SZI; \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
214 xv=(B*)&x; yv=(B*)&y; \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
215 RZ(z=exta(INT,1L,1L,MAX(22,n/SZI))); zv=AV(z); zu=zv+AN(z)-SZI; \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
216 if (!AR(a)){ASSIGNX(av); DO(q, if(y=F(x, *wv++))IFB3; m+=SZI;); y=F(x, *wv);} \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
217 else if(!AR(w)){ASSIGNX(wv); DO(q, if(y=F(*av++,x ))IFB3; m+=SZI;); y=F(*av,x );} \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
218 else { DO(q, if(y=F(*av++,*wv++))IFB3; m+=SZI;); y=F(*av,*wv);} \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
219 if(r&&y){DO(SZI-r, yv[r+i]=0;); IFB3;}; \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
220 AN(z)=*AS(z)=zv-AV(z); R z; \ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
221 } |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
222 |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
223 INDB( i0eqBB,B,B,NE ) INDF( i0eqBI,B,I,ANE ) INDF( i0eqBD,B,D,TNEXD) /* = */ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
224 INDF( i0eqIB,I,B,ANE ) INDF( i0eqII,I,I,ANE ) INDF( i0eqID,I,D,TNEXD) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
225 INDF( i0eqDB,D,B,TNEDX) INDF( i0eqDI,D,I,TNEDX) INDF( i0eqDD,D,D,TNE ) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
226 |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
227 INDB( i1eqBB,B,B,EQ ) INDF( i1eqBI,B,I,AEQ ) INDF( i1eqBD,B,D,TEQXD) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
228 INDF( i1eqIB,I,B,AEQ ) INDF( i1eqII,I,I,AEQ ) INDF( i1eqID,I,D,TEQXD) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
229 INDF( i1eqDB,D,B,TEQDX) INDF( i1eqDI,D,I,TEQDX) INDF( i1eqDD,D,D,TEQ ) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
230 |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
231 JNDB( j0eqBB,B,B,NE ) JNDF( j0eqBI,B,I,ANE ) JNDF( j0eqBD,B,D,TNEXD) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
232 JNDF( j0eqIB,I,B,ANE ) JNDF( j0eqII,I,I,ANE ) JNDF( j0eqID,I,D,TNEXD) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
233 JNDF( j0eqDB,D,B,TNEDX) JNDF( j0eqDI,D,I,TNEDX) JNDF( j0eqDD,D,D,TNE ) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
234 |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
235 JNDB( j1eqBB,B,B,EQ ) JNDF( j1eqBI,B,I,AEQ ) JNDF( j1eqBD,B,D,TEQXD) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
236 JNDF( j1eqIB,I,B,AEQ ) JNDF( j1eqII,I,I,AEQ ) JNDF( j1eqID,I,D,TEQXD) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
237 JNDF( j1eqDB,D,B,TEQDX) JNDF( j1eqDI,D,I,TEQDX) JNDF( j1eqDD,D,D,TEQ ) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
238 |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
239 SUMB(sumeqBB,B,B,EQ ) SUMF(sumeqBI,B,I,AEQ ) SUMF(sumeqBD,B,D,TEQXD) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
240 SUMF(sumeqIB,I,B,AEQ ) SUMF(sumeqII,I,I,AEQ ) SUMF(sumeqID,I,D,TEQXD) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
241 SUMF(sumeqDB,D,B,TEQDX) SUMF(sumeqDI,D,I,TEQDX) SUMF(sumeqDD,D,D,TEQ ) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
242 |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
243 ANYB(anyeqBB,B,B,EQ ) ANYF(anyeqBI,B,I,AEQ ) ANYF(anyeqBD,B,D,TEQXD) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
244 ANYF(anyeqIB,I,B,AEQ ) ANYF(anyeqII,I,I,AEQ ) ANYF(anyeqID,I,D,TEQXD) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
245 ANYF(anyeqDB,D,B,TEQDX) ANYF(anyeqDI,D,I,TEQDX) ANYF(anyeqDD,D,D,TEQ ) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
246 |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
247 ALLB(alleqBB,B,B,EQ ) ALLF(alleqBI,B,I,AEQ ) ALLF(alleqBD,B,D,TEQXD) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
248 ALLF(alleqIB,I,B,AEQ ) ALLF(alleqII,I,I,AEQ ) ALLF(alleqID,I,D,TEQXD) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
249 ALLF(alleqDB,D,B,TEQDX) ALLF(alleqDI,D,I,TEQDX) ALLF(alleqDD,D,D,TEQ ) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
250 |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
251 IFBB(ifbeqBB,B,B,EQ ) IFBF(ifbeqBI,B,I,AEQ ) IFBF(ifbeqBD,B,D,TEQXD) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
252 IFBF(ifbeqIB,I,B,AEQ ) IFBF(ifbeqII,I,I,AEQ ) IFBF(ifbeqID,I,D,TEQXD) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
253 IFBF(ifbeqDB,D,B,TEQDX) IFBF(ifbeqDI,D,I,TEQDX) IFBF(ifbeqDD,D,D,TEQ ) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
254 |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
255 INDB( i0neBB,B,B,EQ ) INDF( i0neBI,B,I,AEQ ) INDF( i0neBD,B,D,TEQXD) /* ~: */ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
256 INDF( i0neIB,I,B,AEQ ) INDF( i0neII,I,I,AEQ ) INDF( i0neID,I,D,TEQXD) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
257 INDF( i0neDB,D,B,TEQDX) INDF( i0neDI,D,I,TEQDX) INDF( i0neDD,D,D,TEQ ) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
258 |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
259 INDB( i1neBB,B,B,NE ) INDF( i1neBI,B,I,ANE ) INDF( i1neBD,B,D,TNEXD) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
260 INDF( i1neIB,I,B,ANE ) INDF( i1neII,I,I,ANE ) INDF( i1neID,I,D,TNEXD) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
261 INDF( i1neDB,D,B,TNEDX) INDF( i1neDI,D,I,TNEDX) INDF( i1neDD,D,D,TNE ) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
262 |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
263 JNDB( j0neBB,B,B,EQ ) JNDF( j0neBI,B,I,AEQ ) JNDF( j0neBD,B,D,TEQXD) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
264 JNDF( j0neIB,I,B,AEQ ) JNDF( j0neII,I,I,AEQ ) JNDF( j0neID,I,D,TEQXD) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
265 JNDF( j0neDB,D,B,TEQDX) JNDF( j0neDI,D,I,TEQDX) JNDF( j0neDD,D,D,TEQ ) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
266 |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
267 JNDB( j1neBB,B,B,NE ) JNDF( j1neBI,B,I,ANE ) JNDF( j1neBD,B,D,TNEXD) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
268 JNDF( j1neIB,I,B,ANE ) JNDF( j1neII,I,I,ANE ) JNDF( j1neID,I,D,TNEXD) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
269 JNDF( j1neDB,D,B,TNEDX) JNDF( j1neDI,D,I,TNEDX) JNDF( j1neDD,D,D,TNE ) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
270 |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
271 SUMB(sumneBB,B,B,NE ) SUMF(sumneBI,B,I,ANE ) SUMF(sumneBD,B,D,TNEXD) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
272 SUMF(sumneIB,I,B,ANE ) SUMF(sumneII,I,I,ANE ) SUMF(sumneID,I,D,TNEXD) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
273 SUMF(sumneDB,D,B,TNEDX) SUMF(sumneDI,D,I,TNEDX) SUMF(sumneDD,D,D,TNE ) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
274 |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
275 ANYB(anyneBB,B,B,NE ) ANYF(anyneBI,B,I,ANE ) ANYF(anyneBD,B,D,TNEXD) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
276 ANYF(anyneIB,I,B,ANE ) ANYF(anyneII,I,I,ANE ) ANYF(anyneID,I,D,TNEXD) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
277 ANYF(anyneDB,D,B,TNEDX) ANYF(anyneDI,D,I,TNEDX) ANYF(anyneDD,D,D,TNE ) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
278 |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
279 ALLB(allneBB,B,B,NE ) ALLF(allneBI,B,I,ANE ) ALLF(allneBD,B,D,TNEXD) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
280 ALLF(allneIB,I,B,ANE ) ALLF(allneII,I,I,ANE ) ALLF(allneID,I,D,TNEXD) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
281 ALLF(allneDB,D,B,TNEDX) ALLF(allneDI,D,I,TNEDX) ALLF(allneDD,D,D,TNE ) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
282 |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
283 IFBB(ifbneBB,B,B,NE ) IFBF(ifbneBI,B,I,ANE ) IFBF(ifbneBD,B,D,TNEXD) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
284 IFBF(ifbneIB,I,B,ANE ) IFBF(ifbneII,I,I,ANE ) IFBF(ifbneID,I,D,TNEXD) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
285 IFBF(ifbneDB,D,B,TNEDX) IFBF(ifbneDI,D,I,TNEDX) IFBF(ifbneDD,D,D,TNE ) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
286 |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
287 INDB( i0ltBB,B,B,GE ) INDF( i0ltBI,B,I,AGE ) INDF( i0ltBD,B,D,TGEXD) /* < */ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
288 INDF( i0ltIB,I,B,AGE ) INDF( i0ltII,I,I,AGE ) INDF( i0ltID,I,D,TGEXD) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
289 INDF( i0ltDB,D,B,TGEDX) INDF( i0ltDI,D,I,TGEDX) INDF( i0ltDD,D,D,TGE ) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
290 |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
291 INDB( i1ltBB,B,B,LT ) INDF( i1ltBI,B,I,ALT ) INDF( i1ltBD,B,D,TLTXD) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
292 INDF( i1ltIB,I,B,ALT ) INDF( i1ltII,I,I,ALT ) INDF( i1ltID,I,D,TLTXD) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
293 INDF( i1ltDB,D,B,TLTDX) INDF( i1ltDI,D,I,TLTDX) INDF( i1ltDD,D,D,TLT ) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
294 |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
295 JNDB( j0ltBB,B,B,GE ) JNDF( j0ltBI,B,I,AGE ) JNDF( j0ltBD,B,D,TGEXD) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
296 JNDF( j0ltIB,I,B,AGE ) JNDF( j0ltII,I,I,AGE ) JNDF( j0ltID,I,D,TGEXD) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
297 JNDF( j0ltDB,D,B,TGEDX) JNDF( j0ltDI,D,I,TGEDX) JNDF( j0ltDD,D,D,TGE ) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
298 |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
299 JNDB( j1ltBB,B,B,LT ) JNDF( j1ltBI,B,I,ALT ) JNDF( j1ltBD,B,D,TLTXD) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
300 JNDF( j1ltIB,I,B,ALT ) JNDF( j1ltII,I,I,ALT ) JNDF( j1ltID,I,D,TLTXD) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
301 JNDF( j1ltDB,D,B,TLTDX) JNDF( j1ltDI,D,I,TLTDX) JNDF( j1ltDD,D,D,TLT ) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
302 |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
303 SUMB(sumltBB,B,B,LT ) SUMF(sumltBI,B,I,ALT ) SUMF(sumltBD,B,D,TLTXD) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
304 SUMF(sumltIB,I,B,ALT ) SUMF(sumltII,I,I,ALT ) SUMF(sumltID,I,D,TLTXD) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
305 SUMF(sumltDB,D,B,TLTDX) SUMF(sumltDI,D,I,TLTDX) SUMF(sumltDD,D,D,TLT ) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
306 |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
307 ANYB(anyltBB,B,B,LT ) ANYF(anyltBI,B,I,ALT ) ANYF(anyltBD,B,D,TLTXD) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
308 ANYF(anyltIB,I,B,ALT ) ANYF(anyltII,I,I,ALT ) ANYF(anyltID,I,D,TLTXD) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
309 ANYF(anyltDB,D,B,TLTDX) ANYF(anyltDI,D,I,TLTDX) ANYF(anyltDD,D,D,TLT ) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
310 |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
311 ALLB(allltBB,B,B,LT ) ALLF(allltBI,B,I,ALT ) ALLF(allltBD,B,D,TLTXD) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
312 ALLF(allltIB,I,B,ALT ) ALLF(allltII,I,I,ALT ) ALLF(allltID,I,D,TLTXD) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
313 ALLF(allltDB,D,B,TLTDX) ALLF(allltDI,D,I,TLTDX) ALLF(allltDD,D,D,TLT ) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
314 |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
315 IFBB(ifbltBB,B,B,LT ) IFBF(ifbltBI,B,I,ALT ) IFBF(ifbltBD,B,D,TLTXD) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
316 IFBF(ifbltIB,I,B,ALT ) IFBF(ifbltII,I,I,ALT ) IFBF(ifbltID,I,D,TLTXD) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
317 IFBF(ifbltDB,D,B,TLTDX) IFBF(ifbltDI,D,I,TLTDX) IFBF(ifbltDD,D,D,TLT ) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
318 |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
319 INDB( i0leBB,B,B,GT ) INDF( i0leBI,B,I,AGT ) INDF( i0leBD,B,D,TGTXD) /* <: */ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
320 INDF( i0leIB,I,B,AGT ) INDF( i0leII,I,I,AGT ) INDF( i0leID,I,D,TGTXD) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
321 INDF( i0leDB,D,B,TGTDX) INDF( i0leDI,D,I,TGTDX) INDF( i0leDD,D,D,TGT ) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
322 |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
323 INDB( i1leBB,B,B,LE ) INDF( i1leBI,B,I,ALE ) INDF( i1leBD,B,D,TLEXD) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
324 INDF( i1leIB,I,B,ALE ) INDF( i1leII,I,I,ALE ) INDF( i1leID,I,D,TLEXD) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
325 INDF( i1leDB,D,B,TLEDX) INDF( i1leDI,D,I,TLEDX) INDF( i1leDD,D,D,TLE ) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
326 |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
327 JNDB( j0leBB,B,B,GT ) JNDF( j0leBI,B,I,AGT ) JNDF( j0leBD,B,D,TGTXD) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
328 JNDF( j0leIB,I,B,AGT ) JNDF( j0leII,I,I,AGT ) JNDF( j0leID,I,D,TGTXD) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
329 JNDF( j0leDB,D,B,TGTDX) JNDF( j0leDI,D,I,TGTDX) JNDF( j0leDD,D,D,TGT ) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
330 |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
331 JNDB( j1leBB,B,B,LE ) JNDF( j1leBI,B,I,ALE ) JNDF( j1leBD,B,D,TLEXD) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
332 JNDF( j1leIB,I,B,ALE ) JNDF( j1leII,I,I,ALE ) JNDF( j1leID,I,D,TLEXD) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
333 JNDF( j1leDB,D,B,TLEDX) JNDF( j1leDI,D,I,TLEDX) JNDF( j1leDD,D,D,TLE ) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
334 |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
335 SUMB(sumleBB,B,B,LE ) SUMF(sumleBI,B,I,ALE ) SUMF(sumleBD,B,D,TLEXD) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
336 SUMF(sumleIB,I,B,ALE ) SUMF(sumleII,I,I,ALE ) SUMF(sumleID,I,D,TLEXD) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
337 SUMF(sumleDB,D,B,TLEDX) SUMF(sumleDI,D,I,TLEDX) SUMF(sumleDD,D,D,TLE ) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
338 |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
339 ANYB(anyleBB,B,B,LE ) ANYF(anyleBI,B,I,ALE ) ANYF(anyleBD,B,D,TLEXD) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
340 ANYF(anyleIB,I,B,ALE ) ANYF(anyleII,I,I,ALE ) ANYF(anyleID,I,D,TLEXD) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
341 ANYF(anyleDB,D,B,TLEDX) ANYF(anyleDI,D,I,TLEDX) ANYF(anyleDD,D,D,TLE ) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
342 |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
343 ALLB(allleBB,B,B,LE ) ALLF(allleBI,B,I,ALE ) ALLF(allleBD,B,D,TLEXD) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
344 ALLF(allleIB,I,B,ALE ) ALLF(allleII,I,I,ALE ) ALLF(allleID,I,D,TLEXD) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
345 ALLF(allleDB,D,B,TLEDX) ALLF(allleDI,D,I,TLEDX) ALLF(allleDD,D,D,TLE ) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
346 |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
347 IFBB(ifbleBB,B,B,LE ) IFBF(ifbleBI,B,I,ALE ) IFBF(ifbleBD,B,D,TLEXD) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
348 IFBF(ifbleIB,I,B,ALE ) IFBF(ifbleII,I,I,ALE ) IFBF(ifbleID,I,D,TLEXD) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
349 IFBF(ifbleDB,D,B,TLEDX) IFBF(ifbleDI,D,I,TLEDX) IFBF(ifbleDD,D,D,TLE ) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
350 |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
351 INDB( i0geBB,B,B,LT ) INDF( i0geBI,B,I,ALT ) INDF( i0geBD,B,D,TLTXD) /* >: */ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
352 INDF( i0geIB,I,B,ALT ) INDF( i0geII,I,I,ALT ) INDF( i0geID,I,D,TLTXD) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
353 INDF( i0geDB,D,B,TLTDX) INDF( i0geDI,D,I,TLTDX) INDF( i0geDD,D,D,TLT ) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
354 |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
355 INDB( i1geBB,B,B,GE ) INDF( i1geBI,B,I,AGE ) INDF( i1geBD,B,D,TGEXD) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
356 INDF( i1geIB,I,B,AGE ) INDF( i1geII,I,I,AGE ) INDF( i1geID,I,D,TGEXD) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
357 INDF( i1geDB,D,B,TGEDX) INDF( i1geDI,D,I,TGEDX) INDF( i1geDD,D,D,TGE ) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
358 |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
359 JNDB( j0geBB,B,B,LT ) JNDF( j0geBI,B,I,ALT ) JNDF( j0geBD,B,D,TLTXD) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
360 JNDF( j0geIB,I,B,ALT ) JNDF( j0geII,I,I,ALT ) JNDF( j0geID,I,D,TLTXD) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
361 JNDF( j0geDB,D,B,TLTDX) JNDF( j0geDI,D,I,TLTDX) JNDF( j0geDD,D,D,TLT ) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
362 |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
363 JNDB( j1geBB,B,B,GE ) JNDF( j1geBI,B,I,AGE ) JNDF( j1geBD,B,D,TGEXD) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
364 JNDF( j1geIB,I,B,AGE ) JNDF( j1geII,I,I,AGE ) JNDF( j1geID,I,D,TGEXD) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
365 JNDF( j1geDB,D,B,TGEDX) JNDF( j1geDI,D,I,TGEDX) JNDF( j1geDD,D,D,TGE ) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
366 |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
367 SUMB(sumgeBB,B,B,GE ) SUMF(sumgeBI,B,I,AGE ) SUMF(sumgeBD,B,D,TGEXD) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
368 SUMF(sumgeIB,I,B,AGE ) SUMF(sumgeII,I,I,AGE ) SUMF(sumgeID,I,D,TGEXD) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
369 SUMF(sumgeDB,D,B,TGEDX) SUMF(sumgeDI,D,I,TGEDX) SUMF(sumgeDD,D,D,TGE ) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
370 |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
371 ANYB(anygeBB,B,B,GE ) ANYF(anygeBI,B,I,AGE ) ANYF(anygeBD,B,D,TGEXD) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
372 ANYF(anygeIB,I,B,AGE ) ANYF(anygeII,I,I,AGE ) ANYF(anygeID,I,D,TGEXD) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
373 ANYF(anygeDB,D,B,TGEDX) ANYF(anygeDI,D,I,TGEDX) ANYF(anygeDD,D,D,TGE ) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
374 |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
375 ALLB(allgeBB,B,B,GE ) ALLF(allgeBI,B,I,AGE ) ALLF(allgeBD,B,D,TGEXD) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
376 ALLF(allgeIB,I,B,AGE ) ALLF(allgeII,I,I,AGE ) ALLF(allgeID,I,D,TGEXD) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
377 ALLF(allgeDB,D,B,TGEDX) ALLF(allgeDI,D,I,TGEDX) ALLF(allgeDD,D,D,TGE ) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
378 |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
379 IFBB(ifbgeBB,B,B,GE ) IFBF(ifbgeBI,B,I,AGE ) IFBF(ifbgeBD,B,D,TGEXD) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
380 IFBF(ifbgeIB,I,B,AGE ) IFBF(ifbgeII,I,I,AGE ) IFBF(ifbgeID,I,D,TGEXD) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
381 IFBF(ifbgeDB,D,B,TGEDX) IFBF(ifbgeDI,D,I,TGEDX) IFBF(ifbgeDD,D,D,TGE ) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
382 |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
383 INDB( i0gtBB,B,B,LE ) INDF( i0gtBI,B,I,ALE ) INDF( i0gtBD,B,D,TLEXD) /* > */ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
384 INDF( i0gtIB,I,B,ALE ) INDF( i0gtII,I,I,ALE ) INDF( i0gtID,I,D,TLEXD) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
385 INDF( i0gtDB,D,B,TLEDX) INDF( i0gtDI,D,I,TLEDX) INDF( i0gtDD,D,D,TLE ) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
386 |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
387 INDB( i1gtBB,B,B,GT ) INDF( i1gtBI,B,I,AGT ) INDF( i1gtBD,B,D,TGTXD) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
388 INDF( i1gtIB,I,B,AGT ) INDF( i1gtII,I,I,AGT ) INDF( i1gtID,I,D,TGTXD) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
389 INDF( i1gtDB,D,B,TGTDX) INDF( i1gtDI,D,I,TGTDX) INDF( i1gtDD,D,D,TGT ) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
390 |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
391 JNDB( j0gtBB,B,B,LE ) JNDF( j0gtBI,B,I,ALE ) JNDF( j0gtBD,B,D,TLEXD) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
392 JNDF( j0gtIB,I,B,ALE ) JNDF( j0gtII,I,I,ALE ) JNDF( j0gtID,I,D,TLEXD) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
393 JNDF( j0gtDB,D,B,TLEDX) JNDF( j0gtDI,D,I,TLEDX) JNDF( j0gtDD,D,D,TLE ) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
394 |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
395 JNDB( j1gtBB,B,B,GT ) JNDF( j1gtBI,B,I,AGT ) JNDF( j1gtBD,B,D,TGTXD) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
396 JNDF( j1gtIB,I,B,AGT ) JNDF( j1gtII,I,I,AGT ) JNDF( j1gtID,I,D,TGTXD) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
397 JNDF( j1gtDB,D,B,TGTDX) JNDF( j1gtDI,D,I,TGTDX) JNDF( j1gtDD,D,D,TGT ) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
398 |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
399 SUMB(sumgtBB,B,B,GT ) SUMF(sumgtBI,B,I,AGT ) SUMF(sumgtBD,B,D,TGTXD) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
400 SUMF(sumgtIB,I,B,AGT ) SUMF(sumgtII,I,I,AGT ) SUMF(sumgtID,I,D,TGTXD) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
401 SUMF(sumgtDB,D,B,TGTDX) SUMF(sumgtDI,D,I,TGTDX) SUMF(sumgtDD,D,D,TGT ) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
402 |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
403 ALLB(allgtBB,B,B,GT ) ALLF(allgtBI,B,I,AGT ) ALLF(allgtBD,B,D,TGTXD) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
404 ALLF(allgtIB,I,B,AGT ) ALLF(allgtII,I,I,AGT ) ALLF(allgtID,I,D,TGTXD) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
405 ALLF(allgtDB,D,B,TGTDX) ALLF(allgtDI,D,I,TGTDX) ALLF(allgtDD,D,D,TGT ) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
406 |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
407 ANYB(anygtBB,B,B,GT ) ANYF(anygtBI,B,I,AGT ) ANYF(anygtBD,B,D,TGTXD) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
408 ANYF(anygtIB,I,B,AGT ) ANYF(anygtII,I,I,AGT ) ANYF(anygtID,I,D,TGTXD) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
409 ANYF(anygtDB,D,B,TGTDX) ANYF(anygtDI,D,I,TGTDX) ANYF(anygtDD,D,D,TGT ) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
410 |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
411 IFBB(ifbgtBB,B,B,GT ) IFBF(ifbgtBI,B,I,AGT ) IFBF(ifbgtBD,B,D,TGTXD) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
412 IFBF(ifbgtIB,I,B,AGT ) IFBF(ifbgtII,I,I,AGT ) IFBF(ifbgtID,I,D,TGTXD) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
413 IFBF(ifbgtDB,D,B,TGTDX) IFBF(ifbgtDI,D,I,TGTDX) IFBF(ifbgtDD,D,D,TGT ) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
414 |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
415 |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
416 static AF atcompxy[]={ /* table for (B01,INT,FL) vs. (B01,INT,FL) */ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
417 i0eqBB, i0eqBI, i0eqBD, i0eqIB, i0eqII, i0eqID, i0eqDB, i0eqDI, i0eqDD, /* 0 */ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
418 i0neBB, i0neBI, i0neBD, i0neIB, i0neII, i0neID, i0neDB, i0neDI, i0neDD, |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
419 i0ltBB, i0ltBI, i0ltBD, i0ltIB, i0ltII, i0ltID, i0ltDB, i0ltDI, i0ltDD, |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
420 i0leBB, i0leBI, i0leBD, i0leIB, i0leII, i0leID, i0leDB, i0leDI, i0leDD, |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
421 i0geBB, i0geBI, i0geBD, i0geIB, i0geII, i0geID, i0geDB, i0geDI, i0geDD, |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
422 i0gtBB, i0gtBI, i0gtBD, i0gtIB, i0gtII, i0gtID, i0gtDB, i0gtDI, i0gtDD, |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
423 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
424 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
425 |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
426 i1eqBB, i1eqBI, i1eqBD, i1eqIB, i1eqII, i1eqID, i1eqDB, i1eqDI, i1eqDD, /* 1 */ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
427 i1neBB, i1neBI, i1neBD, i1neIB, i1neII, i1neID, i1neDB, i1neDI, i1neDD, |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
428 i1ltBB, i1ltBI, i1ltBD, i1ltIB, i1ltII, i1ltID, i1ltDB, i1ltDI, i1ltDD, |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
429 i1leBB, i1leBI, i1leBD, i1leIB, i1leII, i1leID, i1leDB, i1leDI, i1leDD, |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
430 i1geBB, i1geBI, i1geBD, i1geIB, i1geII, i1geID, i1geDB, i1geDI, i1geDD, |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
431 i1gtBB, i1gtBI, i1gtBD, i1gtIB, i1gtII, i1gtID, i1gtDB, i1gtDI, i1gtDD, |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
432 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
433 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
434 |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
435 j0eqBB, j0eqBI, j0eqBD, j0eqIB, j0eqII, j0eqID, j0eqDB, j0eqDI, j0eqDD, /* 2 */ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
436 j0neBB, j0neBI, j0neBD, j0neIB, j0neII, j0neID, j0neDB, j0neDI, j0neDD, |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
437 j0ltBB, j0ltBI, j0ltBD, j0ltIB, j0ltII, j0ltID, j0ltDB, j0ltDI, j0ltDD, |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
438 j0leBB, j0leBI, j0leBD, j0leIB, j0leII, j0leID, j0leDB, j0leDI, j0leDD, |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
439 j0geBB, j0geBI, j0geBD, j0geIB, j0geII, j0geID, j0geDB, j0geDI, j0geDD, |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
440 j0gtBB, j0gtBI, j0gtBD, j0gtIB, j0gtII, j0gtID, j0gtDB, j0gtDI, j0gtDD, |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
441 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
442 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
443 |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
444 j1eqBB, j1eqBI, j1eqBD, j1eqIB, j1eqII, j1eqID, j1eqDB, j1eqDI, j1eqDD, /* 3 */ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
445 j1neBB, j1neBI, j1neBD, j1neIB, j1neII, j1neID, j1neDB, j1neDI, j1neDD, |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
446 j1ltBB, j1ltBI, j1ltBD, j1ltIB, j1ltII, j1ltID, j1ltDB, j1ltDI, j1ltDD, |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
447 j1leBB, j1leBI, j1leBD, j1leIB, j1leII, j1leID, j1leDB, j1leDI, j1leDD, |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
448 j1geBB, j1geBI, j1geBD, j1geIB, j1geII, j1geID, j1geDB, j1geDI, j1geDD, |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
449 j1gtBB, j1gtBI, j1gtBD, j1gtIB, j1gtII, j1gtID, j1gtDB, j1gtDI, j1gtDD, |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
450 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
451 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
452 |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
453 sumeqBB,sumeqBI,sumeqBD, sumeqIB,sumeqII,sumeqID, sumeqDB,sumeqDI,sumeqDD, /* 4 */ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
454 sumneBB,sumneBI,sumneBD, sumneIB,sumneII,sumneID, sumneDB,sumneDI,sumneDD, |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
455 sumltBB,sumltBI,sumltBD, sumltIB,sumltII,sumltID, sumltDB,sumltDI,sumltDD, |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
456 sumleBB,sumleBI,sumleBD, sumleIB,sumleII,sumleID, sumleDB,sumleDI,sumleDD, |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
457 sumgeBB,sumgeBI,sumgeBD, sumgeIB,sumgeII,sumgeID, sumgeDB,sumgeDI,sumgeDD, |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
458 sumgtBB,sumgtBI,sumgtBD, sumgtIB,sumgtII,sumgtID, sumgtDB,sumgtDI,sumgtDD, |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
459 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
460 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
461 |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
462 anyeqBB,anyeqBI,anyeqBD, anyeqIB,anyeqII,anyeqID, anyeqDB,anyeqDI,anyeqDD, /* 5 */ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
463 anyneBB,anyneBI,anyneBD, anyneIB,anyneII,anyneID, anyneDB,anyneDI,anyneDD, |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
464 anyltBB,anyltBI,anyltBD, anyltIB,anyltII,anyltID, anyltDB,anyltDI,anyltDD, |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
465 anyleBB,anyleBI,anyleBD, anyleIB,anyleII,anyleID, anyleDB,anyleDI,anyleDD, |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
466 anygeBB,anygeBI,anygeBD, anygeIB,anygeII,anygeID, anygeDB,anygeDI,anygeDD, |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
467 anygtBB,anygtBI,anygtBD, anygtIB,anygtII,anygtID, anygtDB,anygtDI,anygtDD, |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
468 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
469 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
470 |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
471 alleqBB,alleqBI,alleqBD, alleqIB,alleqII,alleqID, alleqDB,alleqDI,alleqDD, /* 6 */ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
472 allneBB,allneBI,allneBD, allneIB,allneII,allneID, allneDB,allneDI,allneDD, |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
473 allltBB,allltBI,allltBD, allltIB,allltII,allltID, allltDB,allltDI,allltDD, |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
474 allleBB,allleBI,allleBD, allleIB,allleII,allleID, allleDB,allleDI,allleDD, |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
475 allgeBB,allgeBI,allgeBD, allgeIB,allgeII,allgeID, allgeDB,allgeDI,allgeDD, |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
476 allgtBB,allgtBI,allgtBD, allgtIB,allgtII,allgtID, allgtDB,allgtDI,allgtDD, |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
477 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
478 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
479 |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
480 ifbeqBB,ifbeqBI,ifbeqBD, ifbeqIB,ifbeqII,ifbeqID, ifbeqDB,ifbeqDI,ifbeqDD, /* 7 */ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
481 ifbneBB,ifbneBI,ifbneBD, ifbneIB,ifbneII,ifbneID, ifbneDB,ifbneDI,ifbneDD, |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
482 ifbltBB,ifbltBI,ifbltBD, ifbltIB,ifbltII,ifbltID, ifbltDB,ifbltDI,ifbltDD, |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
483 ifbleBB,ifbleBI,ifbleBD, ifbleIB,ifbleII,ifbleID, ifbleDB,ifbleDI,ifbleDD, |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
484 ifbgeBB,ifbgeBI,ifbgeBD, ifbgeIB,ifbgeII,ifbgeID, ifbgeDB,ifbgeDI,ifbgeDD, |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
485 ifbgtBB,ifbgtBI,ifbgtBD, ifbgtIB,ifbgtII,ifbgtID, ifbgtDB,ifbgtDI,ifbgtDD, |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
486 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
487 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
488 }; |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
489 |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
490 INDF( i0eqC,C,C,ANE) INDF( i0neC,C,C,AEQ) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
491 INDF( i1eqC,C,C,AEQ) INDF( i1neC,C,C,ANE) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
492 JNDF( j0eqC,C,C,ANE) JNDF( j0neC,C,C,AEQ) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
493 JNDF( j1eqC,C,C,AEQ) JNDF( j1neC,C,C,ANE) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
494 SUMF(sumeqC,C,C,AEQ) SUMF(sumneC,C,C,ANE) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
495 ALLF(alleqC,C,C,AEQ) ALLF(allneC,C,C,ANE) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
496 ANYF(anyeqC,C,C,AEQ) ANYF(anyneC,C,C,ANE) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
497 IFBF(ifbeqC,C,C,AEQ) IFBF(ifbneC,C,C,ANE) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
498 |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
499 static AF atcompC[]={ /* table for LIT vs. LIT */ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
500 i0eqC, i0neC, 0L,0L,0L,0L,0L,0L, |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
501 i1eqC, i1neC, 0L,0L,0L,0L,0L,0L, |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
502 j0eqC, j0neC, 0L,0L,0L,0L,0L,0L, |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
503 j1eqC, j1neC, 0L,0L,0L,0L,0L,0L, |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
504 sumeqC, sumneC, 0L,0L,0L,0L,0L,0L, |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
505 anyeqC, anyneC, 0L,0L,0L,0L,0L,0L, |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
506 alleqC, allneC, 0L,0L,0L,0L,0L,0L, |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
507 ifbeqC, ifbneC, 0L,0L,0L,0L,0L,0L, |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
508 }; |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
509 |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
510 INDF( i0eqS,SB,SB,ANE) INDF( i0neS,SB,SB,AEQ) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
511 INDF( i1eqS,SB,SB,AEQ) INDF( i1neS,SB,SB,ANE) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
512 JNDF( j0eqS,SB,SB,ANE) JNDF( j0neS,SB,SB,AEQ) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
513 JNDF( j1eqS,SB,SB,AEQ) JNDF( j1neS,SB,SB,ANE) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
514 SUMF(sumeqS,SB,SB,AEQ) SUMF(sumneS,SB,SB,ANE) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
515 ALLF(alleqS,SB,SB,AEQ) ALLF(allneS,SB,SB,ANE) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
516 ANYF(anyeqS,SB,SB,AEQ) ANYF(anyneS,SB,SB,ANE) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
517 IFBF(ifbeqS,SB,SB,AEQ) IFBF(ifbneS,SB,SB,ANE) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
518 |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
519 INDF( i0ltS,SB,SB,SBGE) INDF( i0leS,SB,SB,SBGT) INDF( i0geS,SB,SB,SBLT) INDF( i0gtS,SB,SB,SBLE) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
520 INDF( i1ltS,SB,SB,SBLT) INDF( i1leS,SB,SB,SBLE) INDF( i1geS,SB,SB,SBGE) INDF( i1gtS,SB,SB,SBGT) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
521 JNDF( j0ltS,SB,SB,SBGE) JNDF( j0leS,SB,SB,SBGT) JNDF( j0geS,SB,SB,SBLT) JNDF( j0gtS,SB,SB,SBLE) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
522 JNDF( j1ltS,SB,SB,SBLT) JNDF( j1leS,SB,SB,SBLE) JNDF( j1geS,SB,SB,SBGE) JNDF( j1gtS,SB,SB,SBGT) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
523 SUMF(sumltS,SB,SB,SBLT) SUMF(sumleS,SB,SB,SBLE) SUMF(sumgeS,SB,SB,SBGE) SUMF(sumgtS,SB,SB,SBGT) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
524 ALLF(allltS,SB,SB,SBLT) ALLF(allleS,SB,SB,SBLE) ALLF(allgeS,SB,SB,SBGE) ALLF(allgtS,SB,SB,SBGT) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
525 ANYF(anyltS,SB,SB,SBLT) ANYF(anyleS,SB,SB,SBLE) ANYF(anygeS,SB,SB,SBGE) ANYF(anygtS,SB,SB,SBGT) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
526 IFBF(ifbltS,SB,SB,SBLT) IFBF(ifbleS,SB,SB,SBLE) IFBF(ifbgeS,SB,SB,SBGE) IFBF(ifbgtS,SB,SB,SBGT) |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
527 |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
528 |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
529 static AF atcompSB[]={ /* table for SBT vs. SBT */ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
530 i0eqS, i0neS, i0ltS, i0leS, i0geS, i0gtS, 0L,0L, |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
531 i1eqS, i1neS, i1ltS, i1leS, i1geS, i1gtS, 0L,0L, |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
532 j0eqS, j0neS, j0ltS, j0leS, j0geS, j0gtS, 0L,0L, |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
533 j1eqS, j1neS, j1ltS, j1leS, j1geS, j1gtS, 0L,0L, |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
534 sumeqS,sumneS,sumltS,sumleS,sumgeS,sumgtS, 0L,0L, |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
535 anyeqS,anyneS,anyltS,anyleS,anygeS,anygtS, 0L,0L, |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
536 alleqS,allneS,allltS,allleS,allgeS,allgtS, 0L,0L, |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
537 ifbeqS,ifbneS,ifbltS,ifbleS,ifbgeS,ifbgtS, 0L,0L, |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
538 }; |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
539 |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
540 |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
541 static F2( jti0eps){R indexofsub( II0EPS,w,a);} |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
542 static F2( jti1eps){R indexofsub( II1EPS,w,a);} |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
543 static F2( jtj0eps){R indexofsub( IJ0EPS,w,a);} |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
544 static F2( jtj1eps){R indexofsub( IJ1EPS,w,a);} |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
545 static F2(jtsumeps){R indexofsub(ISUMEPS,w,a);} |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
546 static F2(jtanyeps){R indexofsub(IANYEPS,w,a);} |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
547 static F2(jtalleps){R indexofsub(IALLEPS,w,a);} |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
548 static F2(jtifbeps){R indexofsub(IIFBEPS,w,a);} |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
549 |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
550 static AF atcompX[]={ /* table for any vs. any */ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
551 0L,0L,0L,0L,0L,0L, 0L, jti0eps, |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
552 0L,0L,0L,0L,0L,0L, jti1ebar, jti1eps, |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
553 0L,0L,0L,0L,0L,0L, 0L, jtj0eps, |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
554 0L,0L,0L,0L,0L,0L, 0L, jtj1eps, |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
555 0L,0L,0L,0L,0L,0L, jtsumebar, jtsumeps, |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
556 0L,0L,0L,0L,0L,0L, jtanyebar, jtanyeps, |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
557 0L,0L,0L,0L,0L,0L, 0L, jtalleps, |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
558 0L,0L,0L,0L,0L,0L, jtifbebar, jtifbeps, |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
559 }; |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
560 |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
561 |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
562 /* f 0 1 2 3 4 5 6 7 */ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
563 /* m = ~: < <: >: > E. e. */ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
564 /* 0 f i. 0: 0 1 2 3 4 5 6 7 */ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
565 /* 1 f i. 1: 8 9 10 11 12 13 14 15 */ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
566 /* 2 f i: 0: 16 17 18 19 20 21 22 23 */ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
567 /* 3 f i: 1: 24 25 26 27 28 29 30 31 */ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
568 /* 4 [: + / f 32 33 34 35 36 37 38 39 */ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
569 /* 5 [: +./ f 40 41 42 43 44 45 46 47 */ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
570 /* 6 [: *./ f 48 49 50 51 52 53 54 55 */ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
571 /* 7 [: I. f 56 57 58 59 60 61 62 63 */ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
572 |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
573 AF jtatcompf(J jt,A a,A w,A self){AF f;I ar,at,m,wr,wt; |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
574 RZ(a&&w); |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
575 at=AT(a); ar=AR(a); |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
576 wt=AT(w); wr=AR(w); |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
577 m=VAV(self)->flag%256; |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
578 if(1<ar||1<wr){if(32<=m&&m<=37||40<=m&&m<=45||48<=m&&m<=53)R(AF)jtfslashatg; RZ(7==m%8);} |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
579 ASSERT(AN(a)==AN(w)||!ar||!wr||5<m%8,EVLENGTH); |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
580 f=atcompX[m]; |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
581 if(!f){ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
582 if(at&B01+INT+FL&&wt&B01+INT+FL)f=atcompxy[9*m+3*(at&B01?0:at&INT?1:2)+(wt&B01?0:wt&INT?1:2)]; |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
583 else if(at&LIT&&wt&LIT) f=atcompC[m]; |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
584 else if(at&SBT&&wt&SBT) f=atcompSB[m]; |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
585 } |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
586 R f; |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
587 } /* function table look-up for comp i. 1: and i.&1@:comp etc. */ |
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff
changeset
|
588 |