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 /spec/reference.bqn | |
| parent | a0bec0cf4d5d0ec9d9ebf0a4ce237f2266982cea (diff) | |
Extend reference implementation for Join to allow omitted axes
Diffstat (limited to 'spec/reference.bqn')
| -rw-r--r-- | spec/reference.bqn | 17 |
1 files changed, 9 insertions, 8 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←{ |
