Skip to content

Commit c2eba09

Browse files
committed
129!:9 and 129!:12 pass tests
1 parent 340e217 commit c2eba09

4 files changed

Lines changed: 252 additions & 159 deletions

File tree

jsrc/j.c

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,18 @@ struct Bd2 {I hdr[AKXR(0)/SZI]; D v[2];};
1414
#define CREBLOCKATOMV2(name,t,v1,v2) struct Bd2 __attribute__((aligned(CACHELINESIZE))) B##name={{AKXR(0),(t)&TRAVERSIBLE,0,(t),ACPERMANENT,1,0},{v1,v2}};
1515
CREBLOCKATOMV2(a0j1,CMPX,0.0,1.0) // 0j1
1616
#if SY_64
17-
#define CBAIVAL(t,v) {7*SZI,(t)&TRAVERSIBLE,0,(t),ACPERMANENT,1,0,(v)}
17+
#define CBAIVALM(t,v,m) {7*SZI,(t)&TRAVERSIBLE,m,(t),ACPERMANENT,1,0,(v)}
1818
#else
19-
#define CBAIVAL(t,v) {8*SZI,(t)&TRAVERSIBLE,0,(t),ACPERMANENT,1,0,0,(v)}
19+
#define CBAIVALM(t,v,m) {8*SZI,(t)&TRAVERSIBLE,m,(t),ACPERMANENT,1,0,0,(v)}
2020
#endif
21+
#define CBAIVAL(t,v) CBAIVALM(t,v,0)
2122
#define CREBLOCKATOMI(name,t,v) I __attribute__((aligned(CACHELINESIZE))) B##name[9-SY_64]=CBAIVAL(t,v);
23+
#define CREBLOCKATOMGMP(name,t,v,m) I __attribute__((aligned(CACHELINESIZE))) B##name[9-SY_64]=CBAIVALM(t,v,m);
24+
CREBLOCKATOMGMP(X0,LIT,0,0) // X block representing GMP 0 - AN=1, AM=0, val=immaterial
25+
CREBLOCKATOMGMP(X1,LIT,1,1) // X block representing GMP 1 - AN=1, AM=1, val=1
26+
struct Bxnum0 {I hdr[AKXR(0)/SZI]; X v[1];};
27+
#define CREBLOCKATOMXNUM(name,v) struct Bxnum0 __attribute__((aligned(CACHELINESIZE))) B##name={{AKXR(0),XNUM&TRAVERSIBLE,0,XNUM,ACPERMANENT,1,0},{(X)B##v}};
28+
CREBLOCKATOMXNUM(xnum1,X1) // XNUM block for 1
2229
#define CREBLOCKVEC0(name,t) I __attribute__((aligned(CACHELINESIZE))) B##name[8]={8*SZI,(t)&TRAVERSIBLE,0,(t),ACPERMANENT,0,1,0}; // no padding at end - no atoms should be referenced
2330
CREBLOCKVEC0(aqq,LIT) // ''
2431
CREBLOCKVEC0(mtv,B01) // i.0 boolean

0 commit comments

Comments
 (0)