aboutsummaryrefslogtreecommitdiff
path: root/spec/reference.bqn
diff options
context:
space:
mode:
Diffstat (limited to 'spec/reference.bqn')
-rw-r--r--spec/reference.bqn13
1 files changed, 9 insertions, 4 deletions
diff --git a/spec/reference.bqn b/spec/reference.bqn
index 288fdc39..988bfb51 100644
--- a/spec/reference.bqn
+++ b/spec/reference.bqn
@@ -383,11 +383,16 @@ Group←{
𝕨↩Pair∘ToArray⍟(2>≡)𝕨
! 1==𝕨
{!∧´Int¨𝕩⋄!∧´¯1≤𝕩}∘⥊¨𝕨
- n←+´=¨𝕨
+ n←+´r←=¨𝕨
! n≤=𝕩
- ! (∾≢⌜𝕨)≡n↑≢𝕩
- 𝕨↩⥊¨𝕨 ⋄ 𝕩↩((≠¨𝕨)∾n↓≢𝕩)⥊𝕩
- (𝕨⊸=/𝕩˙)¨↕1+¯1⌈´¨𝕨
+ ld←(∾≢⌜𝕨)-n↑≢𝕩
+ ! ∧´(0⊸≤∧≤⟜(r/1=r))ld
+ dr←r⌊(0»+`r)⊏ld∾⟨0⟩
+ s←dr⊣◶⟨0,¯1⊸⊑⟩¨𝕨
+ 𝕨↩dr(⥊¯1⊸↓⍟⊣)¨𝕨
+ s⌈↩1+¯1⌈´¨𝕨
+ 𝕩↩((≠¨𝕨)∾n↓≢𝕩)⥊𝕩
+ (𝕨⊸=/𝕩˙)¨↕s
}
GroupInds←{
! 1==𝕩