From c3dee69d6e936fd8b6d1cf2b3676d612913a61fc Mon Sep 17 00:00:00 2001 From: Marshall Lochbaum Date: Mon, 17 Aug 2020 21:42:17 -0400 Subject: =?UTF-8?q?Define=20monadic=20=E2=8A=90=20to=20be=20=E2=8D=B7?= =?UTF-8?q?=E2=8A=B8=E2=8A=90=20in=20the=20runtime?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/r.bqn | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'src/r.bqn') diff --git a/src/r.bqn b/src/r.bqn index c61034ae..eb84c72c 100644 --- a/src/r.bqn +++ b/src/r.bqn @@ -410,19 +410,20 @@ _search←{ # 0 for ∊˜, 1 for ⊐ ⟩ ToArray𝕩 } } -UniqueMask←{ +_self←{ "Unique mask argument must have rank at least 1" ! 1≤=𝕩 g←⍋𝕩 - (1¨⊸GroupOrd g)⊏0⊸<◶⟨1,-⟜1≢○(⊑⟜(g⊏<˘⍟(1<=)𝕩))⊢⟩⌜↕≠𝕩 + (1¨⊸GroupOrd g) ⊏ g 𝔽 0⊸<◶⟨1,-⟜1≢○(⊑⟜(g⊏<˘⍟(1<=)𝕩))⊢⟩⌜↕≠𝕩 } +SelfClas ← (1¨⊸GroupOrd∘⍋∘/˜⊏˜1-˜+`∘⊢) _self Find←{ r←=𝕨 "Find left argument rank cannot exceed right argument rank" ! r≤=𝕩 𝕨 ≡⎉r (≢𝕨) ↕⎉r 𝕩 } -⊐ ← ("No monadic form: ⊐"!0˜) ⊘ (1 _search) -∊ ← UniqueMask ⊘ (0 _search˜) +⊐ ← SelfClas ⊘ (1 _search) +∊ ← ⊢_self ⊘ (0 _search˜) ⍷ ← ∊⊸/ ⊘ Find ReorderAxes←{ -- cgit v1.2.3