aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/c.bqn2
-rw-r--r--src/r.bqn9
2 files changed, 6 insertions, 5 deletions
diff --git a/src/c.bqn b/src/c.bqn
index 0787160f..dfcff3f1 100644
--- a/src/c.bqn
+++ b/src/c.bqn
@@ -52,7 +52,7 @@ Tokenize←{
na←≠alph⋄us←c=¯1++´bA
id←(1-˜(us<l)×+`w)⊔na(⊢-⊣×+⟜(⊑bA)⊸≤)c
ti←na⌊∘÷˜(⊑bA)-˜w/c
- iu←(≠↑¯1∾⌈`)⊸<is←⍷⊸⊐id⋄ni←≠in←0>iu/ti
+ iu←(≠↑¯1∾⌈`)⊸<is←⊐id⋄ni←≠in←0>iu/ti
ti↩(us/˜(1↓0∾˜⊢)⊸<l)(⊢+∧⟜(2⊸=))0⌈ti
c↩(w∨¬l∨c M bW)/(vi+is⊏⍋⍋in)⌾(w⊸/)(vi+ni+lu⊐lit)⌾(cl⊸/)c
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←{