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 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) (limited to 'spec') 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←{ -- cgit v1.2.3