From 3e565a092bba840fc556ea9b6850aed29313df56 Mon Sep 17 00:00:00 2001 From: Marshall Lochbaum Date: Thu, 25 Jun 2020 20:10:01 -0400 Subject: Switch c.bqn to vector reduce --- c.bqn | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/c.bqn b/c.bqn index e76fb44b..6199fe01 100755 --- a/c.bqn +++ b/c.bqn @@ -1,6 +1,8 @@ #!/usr/bin/env bqn -⊔↩((↕1+(>⌈´))=¨<)∘⊣ /¨⟜< ↕∘≠⍠⊢ +reduce←{r←𝕩⋄{(>𝔽¨_r)⍠(><⊸(𝔽¨_r))}}⊑⟨´⟩ +´↩_reduce +⊔↩((↕1+⌈´)=¨<)∘⊣ /¨⟜< ↕∘≠⍠⊢ ⍷↩∪ Base←{+⟜(𝕨⊸×)´⌽𝕩} @@ -28,10 +30,10 @@ vi←≠charSet Tokenize←{ args←charSet⊸⊐¨𝕨⋄c←charSet⊐𝕩 - c(/˜)↩¬<○(⌈`↕∘≠⊸×)´((⊑bS)∾bR)=⌜c + c(/˜)↩¬<○(⌈`↕∘≠⊸×)´<˘((⊑bS)∾bR)=⌜c w←(<´≠↕0∾⊢)l←c∊∾bD‿bN‿bA id←⍷args∾(bA∊˜w/c)⍒⊸⊏i←(1-˜l×+`w)⊔c - nv←>+´bA∊˜⊑¨id + nv←+´bA∊˜⊑¨id c↩(w∨¬l∨c∊bW)/(vi+id⊐i)⌾(w⊸/)c c(/˜)↩¬(1⌾⊑1⌽1⌾⊑)⊸∧c∊bS ⟨c,nv,nv-≠args,nv↓id⟩ @@ -44,7 +46,7 @@ Parse←{ na←(2×sep)+f×1+l↑0∾c∨v e←/c⋄d←+`o-c ed←e⊏d⋄b←(⍋⍋ed)⊏(⍋⊏⟜d)⊸⊏/o - g←⊔ed∾0⋄s←e-(e⊏˜∾(⍋⊏⊣)¨´⍉2↕g)⌾((∾1↓g)⊸⊏)l¨e + g←⊔ed∾0⋄s←e-(e⊏˜∾(<(⍋⊏⊣)´)˘2↕g)⌾((∾1↓g)⊸⊏)l¨e fe←f×(l-1)++`(-⊸≍s)⌾((e≍b)⊸⊏)l⥊0 fe⌊↩(l-1)-l↑(⌈`↕∘≠⊸×)⌾⌽1∾˜sep ia←+`l↑0∾f-l↑/⁼∧f/fe @@ -60,7 +62,7 @@ GenF64←{ l←2(⌊⋆⁼)𝕩 (Hex"44")∾2 Base˘⌽8‿8(⊣⥊×´⊸↑)∾⟨⥊0,11 Enc2 1023+l,(0⌈l)Enc2𝕩⟩ } -MakeTab←{{(≠chF)↑⊑¨(chF⊐𝕨)⊔𝕩}○∾⟜(⥊¨∘⥊¨)´⍉(2(÷˜∾⊣)≢)⊸⥊𝕩} +MakeTab←{{(≠chF)↑⊑¨(chF⊐𝕨)⊔𝕩}○∾⟜(⥊¨∘⥊¨)´<˘⍉(2(÷˜∾⊣)≢)⊸⥊𝕩} tab1←MakeTab⟨ "⊣⊢" , 2⥊<⟨⟩ "|-⌈⌊√" , (Hex"99")+(↕4)∾6 -- cgit v1.2.3