From 74fe1f12431817cbf70a663a56b02d31b4234868 Mon Sep 17 00:00:00 2001 From: dzaima Date: Sun, 30 May 2021 00:56:17 +0300 Subject: [PATCH] random changes --- src/builtins/arithm.c | 1 - src/core/fillarr.c | 7 ++++--- src/core/stuff.h | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/builtins/arithm.c b/src/builtins/arithm.c index 5cca2bc2..42733dce 100644 --- a/src/builtins/arithm.c +++ b/src/builtins/arithm.c @@ -27,7 +27,6 @@ B ne_c1(B t, B x) { B r = m_f64(isArr(x)&&rnk(x)? *a(x)->sh : 1); decR(x); retur extern B rt_sortDsc; B or_c1(B t, B x) { return c1(rt_sortDsc, x); } -B and_c1(B t, B x); // defined in sort.c void arith_init() { c(BFn,bi_add)->ident = c(BFn,bi_sub)->ident = c(BFn,bi_or )->ident = c(BFn,bi_ne)->ident = c(BFn,bi_gt)->ident = m_i32(0); diff --git a/src/core/fillarr.c b/src/core/fillarr.c index 744e3465..6e213cfa 100644 --- a/src/core/fillarr.c +++ b/src/core/fillarr.c @@ -89,8 +89,9 @@ B withFill(B x, B fill) { // consumes both #ifdef DEBUG validateFill(fill); #endif - if (noFill(fill) && v(x)->type!=t_fillarr && v(x)->type!=t_fillslice) return x; - switch(v(x)->type) { + u8 xt = v(x)->type; + if (noFill(fill) && xt!=t_fillarr && xt!=t_fillslice) return x; + switch(xt) { case t_f64arr : case t_f64slice: case t_i32arr : case t_i32slice: if(fill.u == m_i32(0 ).u) return x; break; case t_c32arr : case t_c32slice: if(fill.u == m_c32(' ').u) return x; break; @@ -105,7 +106,7 @@ B withFill(B x, B fill) { // consumes both } usz ia = a(x)->ia; if (isNum(fill)) { - if (v(x)->type==t_harr) { + if (xt==t_harr) { B* xp = harr_ptr(x); { i32* rp; B r = m_i32arrc(&rp, x); diff --git a/src/core/stuff.h b/src/core/stuff.h index a2113163..f3dd43e3 100644 --- a/src/core/stuff.h +++ b/src/core/stuff.h @@ -71,7 +71,7 @@ static void decSh(Value* x) { if (prnk(x)>1) ptr_dec(shObjP(x)); } // some array stuff -#define WRAP(X,IA,MSG) ({ i64 wV=(i64)(X); u64 iaW=(IA); if(RARE((u64)wV >= iaW)) { if(wV<0) wV+= iaW; if((u64)wV >= iaW) MSG; }; (usz)wV; }) +#define WRAP(X,IA,MSG) ({ i64 wV=(i64)(X); u64 iaW=(IA); if(RARE((u64)wV >= iaW)) { if(wV<0) wV+= iaW; if((u64)wV >= iaW) {MSG;} }; (usz)wV; }) static void arr_shVec(B x, usz ia) { a(x)->ia = ia; srnk(x, 1);