From a82186dab48c234c507693b166acd7c13433864a Mon Sep 17 00:00:00 2001 From: glenda Date: Sat, 22 Oct 2022 16:45:32 +0000 Subject: Atomic reference counting --- print.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'print.c') diff --git a/print.c b/print.c index 55da3b3..3143fcc 100644 --- a/print.c +++ b/print.c @@ -1,6 +1,7 @@ #include #include #include +#include #include "apl9.h" @@ -51,7 +52,7 @@ ppdatums(Datum **ds, int n) Rune * pparray(Array *a) { - Rune **elemstrs = emalloc(sizeof(Rune *) * GetSize(a)); + Rune **elemstrs = emalloc(sizeof(Rune *) * a->size); int rowcount = 1; if(GetRank(a) > 0){ for(int i = 0; i < GetRank(a)-1; i++) @@ -61,7 +62,7 @@ pparray(Array *a) int boxing = !simplearray(a); char *align = GetType(a) == AtypeArray ? "-" : ""; - for(int i = 0; i < GetSize(a); i++){ + for(int i = 0; i < a->size; i++){ if(GetType(a) == AtypeArray){ Rune *arrstr = pparray(a->arraydata[i]); elemstrs[i] = runesmprint("%S", arrstr); @@ -95,7 +96,7 @@ pparray(Array *a) int lastdim = GetRank(a) ? a->shape[GetRank(a)-1] : 1; int *widths = emallocz(sizeof(int) * lastdim, 1); int *heights = emallocz(sizeof(int) * rowcount, 1); - for(int i = 0; i < GetSize(a); i++){ + for(int i = 0; i < a->size; i++){ int w,h; strdims(elemstrs[i], &w, &h); if(w > widths[i%lastdim]) @@ -151,7 +152,7 @@ pparray(Array *a) res = printborder(res, widths, lastdim, 0); int j = 1; int blanks = 0; - for(int dim = 0; dim < GetRank(a) - 1 && i+1 != GetSize(a); dim++){ + for(int dim = 0; dim < GetRank(a) - 1 && i+1 != a->size; dim++){ j *= a->shape[GetRank(a)-dim-2]; if(i%j == 0) blanks++; -- cgit v1.2.3