From e72c3605b252322a145c928b65ff46bba2ccd9d1 Mon Sep 17 00:00:00 2001 From: Marshall Lochbaum Date: Mon, 3 Aug 2020 16:23:51 -0400 Subject: Faster list-of-lists join --- impl.bqn | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/impl.bqn b/impl.bqn index 79c64fa3..6efef2c6 100644 --- a/impl.bqn +++ b/impl.bqn @@ -256,7 +256,12 @@ Replicate ← {0<=𝕨}◶(⥊˜⟜≠Rep⊢)‿{!𝕨=○≠𝕩⋄𝕨Rep𝕩} #⌜ # LAYER 6: Everything else -Join←{ +Join←(1≠=)◶⟨∨´1≠=¨,1⟩◶{ + # List of lists + i←j←¯1⋄e←⟨⟩⋄a←𝕩 + {{e↩a⊑˜i↩𝕩⋄j↩¯1}⍟(i⊸≠)𝕩⋄(j↩j+1)⊑e}¨/≠¨𝕩 +}‿{ + # Multidimensional C←(<⟨⟩)⥊⊸∾⌜´⊢ # Cartesian array product ! IsArray 𝕩 s←≢¨𝕩 -- cgit v1.2.3