diff --git a/src/builtins/grade.h b/src/builtins/grade.h index 06eb3ee2..11c8de30 100644 --- a/src/builtins/grade.h +++ b/src/builtins/grade.h @@ -420,13 +420,13 @@ B GRADE_CAT(c2)(B t, B w, B x) { if (isAtm(w) || RNK(w)==0) thrM(GRADE_CHR": 𝕨 must have rankβ‰₯1"); if (isAtm(x)) x = m_unit(x); ur wr = RNK(w); - ur xr = RNK(x); if (wr > 1) { + ur xr = RNK(x); if (wr > xr+1) thrM(GRADE_CHR": =𝕨 cannot be greater than =𝕩"); i32 nxr = xr-wr+1; - x = toKCells(x, nxr); xr = nxr; - w = toCells(w); xr = 1; + x = toKCells(x, nxr); + w = toCells(w); } u8 we = TI(w,elType); usz wia = IA(w); diff --git a/src/builtins/search.c b/src/builtins/search.c index 30052c18..8cfd5e1c 100644 --- a/src/builtins/search.c +++ b/src/builtins/search.c @@ -743,7 +743,7 @@ void hashmap_set(B* vars, B w, B x) { vars[2] = bi_N; // hashmap_resize might free then alloc map = hashmap_resize(map); vars[2] = tag(map, OBJ_TAG); - hp=map->a; sh=map->sh; + // hp=map->a; sh=map->sh; } vars[0] = vec_addN(vars[0], w); vars[1] = vec_addN(vars[1], x); diff --git a/src/builtins/select.c b/src/builtins/select.c index 3c199695..b77603a9 100644 --- a/src/builtins/select.c +++ b/src/builtins/select.c @@ -953,8 +953,7 @@ B select_ucw(B t, B o, B w, B x) { } usz xr = RNK(x); usz wr = RNK(w); - usz rr; - bool ok = isArr(rep) && xr+wr==(rr=RNK(rep))+1 && eqShPart(SH(w),SH(rep),wr) && eqShPart(SH(x)+1,SH(rep)+wr,xr-1); + bool ok = isArr(rep) && xr+wr == RNK(rep)+1 && eqShPart(SH(w),SH(rep),wr) && eqShPart(SH(x)+1,SH(rep)+wr,xr-1); if (!ok) thrF("π”½βŒΎ(a⊸⊏)𝕩: 𝔽 must return an array with the same shape as its input (%H ≑ shape of a, %2H ≑ shape of βŠπ•©, %H ≑ shape of result of 𝔽)", w, xr-1, SH(x)+1, rep); usz csz = arr_csz(x); if (csz == 0) { decG(rep); decG(w); return x; } diff --git a/src/vm.c b/src/vm.c index febf112c..ec959775 100644 --- a/src/vm.c +++ b/src/vm.c @@ -1609,7 +1609,7 @@ void profiler_displayResults(void) { printf("Got %zu samples\n", count); if (profiler_mode==1) { B compList, mapList; - u64 specialResults[ENT_SP_END]; + u64 specialResults[ENT_SP_END] = {0}; usz compCount = profiler_getResults(&compList, &mapList, specialResults, true); if (specialResults[ENT_SP_GC] > 0) printf("GC: "N64d" samples\n", specialResults[ENT_SP_GC]);