summaryrefslogtreecommitdiff
path: root/apl9.h
diff options
context:
space:
mode:
authorPeter Mikkelsen <petermikkelsen10@gmail.com>2022-01-10 19:32:39 +0000
committerPeter Mikkelsen <petermikkelsen10@gmail.com>2022-01-10 19:32:39 +0000
commit6c964eb54c0056d14a1b929dc09c75240a585cea (patch)
tree3c57d83be54c151f5a7f5b9596e87b5e425982fc /apl9.h
parent0b8bd8e88f2620992310c7ba41283f5d9120e371 (diff)
Implement ( expr ) and improve stranding
Diffstat (limited to 'apl9.h')
-rw-r--r--apl9.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/apl9.h b/apl9.h
index 41ad5e2..4080a81 100644
--- a/apl9.h
+++ b/apl9.h
@@ -27,6 +27,7 @@ typedef enum
/* Data types */
typedef struct Array Array;
+typedef struct Expr Expr;
typedef struct Datum Datum;
struct Array
@@ -35,6 +36,7 @@ struct Array
int rank;
int *shape;
int size;
+ int stranded; /* 1 if build directly by stranding */
union {
char *rawdata;
vlong *intdata;
@@ -42,12 +44,19 @@ struct Array
};
};
+struct Expr
+{
+ int ntoks;
+ Datum *toks;
+};
+
struct Datum
{
datumTag tag;
union {
Array *array;
int code;
+ Expr expr;
};
};