From 46ff6e3b81d398a25e7a5992ced8cebb2ad05433 Mon Sep 17 00:00:00 2001 From: Marshall Lochbaum Date: Fri, 5 Nov 2021 19:51:40 -0400 Subject: Extend reference implementation for Join to allow omitted axes --- spec/reference.bqn | 17 +++++++++-------- test/cases/prim.bqn | 4 ++-- 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/spec/reference.bqn b/spec/reference.bqn index 56ee7318..8d872dad 100644 --- a/spec/reference.bqn +++ b/spec/reference.bqn @@ -378,16 +378,17 @@ Replicate ← {0<=𝕨}◶(⥊˜⟜≠Rep⊢)‿{!𝕨=○≠𝕩⋄𝕨Rep𝕩} { Identity ↩ 𝕨˙⊸=◶Identity‿𝕩 }´¨ ⟨ ∨‿0 , ∧‿1 ⟩ Join←(0<=)◶{!IsArray𝕩⋄>𝕩}‿{ - C←(<⟨⟩)⥊⊸∾⌜´⊢ # Cartesian array product ! IsArray 𝕩 s←≢¨𝕩 - d←≠⊑s - ! ∧´⥊d=≠¨s - ! d≥=𝕩 - l←(≢𝕩){(𝕩⊑⟜≢a⊑˜(j=𝕩)⊸×)¨↕𝕨}¨j←↕r←=a←𝕩 - ! (r↑¨s)≡C l - i←C{p←+´¨↑𝕩⋄(↕⊑⌽p)-𝕩/¯1↓p}¨l - >i<¨⊸⊏¨l/𝕩 + a←(≢𝕩){(s⊑˜(j=𝕩)⊸×)¨↕𝕨}¨j←↕r←=𝕩 + h←(¬⟜(⌈´)≠¨)¨a + ! ∧´∧´¨0≤h + o←+`⊑¨h + t←(¯1⊑o)↓⊑s + l←h{𝕎𝕩}¨˜(»o){⊣◶⟨1,𝕨⊸⊑⟩¨⟜𝕩}¨a + ! s≡(i<¨⊸⊏⍟(0<≠∘⊣)¨l/𝕩 }⍟(0<≠∘⥊) Group←{ diff --git a/test/cases/prim.bqn b/test/cases/prim.bqn index 697507d1..2858d989 100644 --- a/test/cases/prim.bqn +++ b/test/cases/prim.bqn @@ -419,11 +419,11 @@ (∾´≡∾)"ab"‿"cde"‿"" ! % ∾"abc" ! % ∾≍"ab"‿"cde"‿"" -! % ∾"ab"‿'c'‿"" +"abc"≡∾"ab"‿'c'‿"" 1‿2‿3‿4‿6‿9≡∾(⊢×≠↑↓)1+↕3 (≡⟜∾∧≡⟜(∾<))<4 ⟨1‿4,⥊2⟩((∾⋆⌜⌜)≡⋆⌜○∾)⟨2‿3‿4,⟨⟩,⥊5⟩ -! % ∾⟨2‿3,3,3‿3⟩⥊¨0 +(6‿3⥊0)≡∾⟨2‿3,3,3‿3⟩⥊¨0 ! % ∾⟨2‿3,1‿3,2‿2⟩⥊¨0 "abcd"≡"abc"∾'d' "abcd"≡"abc"∾<'d' -- cgit v1.2.3