diff options
| author | Marshall Lochbaum <mwlochbaum@gmail.com> | 2021-11-05 19:51:40 -0400 |
|---|---|---|
| committer | Marshall Lochbaum <mwlochbaum@gmail.com> | 2021-11-05 19:51:43 -0400 |
| commit | 46ff6e3b81d398a25e7a5992ced8cebb2ad05433 (patch) | |
| tree | ce53de7b38010d65f3a328cf220b7f5dbad908fc | |
| parent | a0bec0cf4d5d0ec9d9ebf0a4ce237f2266982cea (diff) | |
Extend reference implementation for Join to allow omitted axes
| -rw-r--r-- | spec/reference.bqn | 17 | ||||
| -rw-r--r-- | 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≡(<t)∾⌜´h⥊¨¨l + i←(<⟨⟩)∾⌜´h{((↕¯1⊸⊑)-𝕩/𝕨⥊¨»)+`𝕩}¨l + >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' |
