diff options
| author | Marshall Lochbaum <mwlochbaum@gmail.com> | 2021-09-09 20:57:48 -0400 |
|---|---|---|
| committer | Marshall Lochbaum <mwlochbaum@gmail.com> | 2021-09-09 20:57:48 -0400 |
| commit | 0223b4cafdcbe7ae0ccde96b236ebd47b9dbb89a (patch) | |
| tree | 1e7aded2e7bd7b6d7eabff3945fc3f8daa63f503 /src | |
| parent | 0dff9871abb061ee72daa2ec1f6820d42098a2d6 (diff) | |
Variable-length body lists depending on whether inverses are defined
Diffstat (limited to 'src')
| -rw-r--r-- | src/c.bqn | 8 |
1 files changed, 5 insertions, 3 deletions
@@ -314,9 +314,11 @@ Parse ← {r‿vn‿i‿e‿def←𝕨⋄nv←≠vn # Instruction source positions MI←-⊸↓˜⟜≠∾g⊏˜⊢⋄oj←(rt-∘≠⊸⌽oi⌊1-˜≠i)Mi∾⟨1-˜at,oa,fa⟩ ind←⟨oj,oj Mi fa⊏IT»¬ro∨ma⟩(¯1∾˜or⊏(≠rt)⊸⌽)⊸⊏¨i‿e - cj←/1+1=ciw←cw⊏˜ci←/cm∨↩fx∧1≠cw - cg←¯1(↑∾˜cj(⊒∘⊣+⊏)(4⌊(2×ci⊏cu)+1<ciw)+↓)5ׯ1+`(ci⊏cf)∾1 - ci↩<˘∘‿5⥊cg⊔cj⊏ci # Indices for multi-body blocks + cj←/cv←1+1=ciw←cw⊏˜ci←/cm∨↩fx∧1≠cw + ck←4⌊(2×ci⊏cu)+1<ciw + cg←¯1+`cif←ci⊏cf + ckt←2⌈(cif/·⍋⊏⟜cg)⊸⊏∘⍒⊸⊏cv+ck + ci↩ckt/⊸⊔(¯1(↑∾˜cj(⊒∘⊣+⊏)ck+cg⊏↓)0∾+`ckt)⊔cj⊏ci # Indices for multi-body blocks fq←⟨cf/ft,cf/¬fx,ci⌾((cf/cm)⊸/)/cf⟩ # Per-function data cq←⟨/1∾or≥oc-○≠rt,fsc+≠¨dn,dn,dx⟩ # Per-body data ⟨oc∾¯1⊑rc,u,fq,cq,ind⟩ # Overall output |
