aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarshall Lochbaum <mwlochbaum@gmail.com>2020-07-10 22:29:20 -0400
committerMarshall Lochbaum <mwlochbaum@gmail.com>2020-07-10 22:30:40 -0400
commitf9a7ad706a250e7829a2cf435e2b1d52d25e8242 (patch)
tree55205bbf21f2186272575d4cbce5df7f3ff113a2
parent906995b17aef018bb757bec371725fe9673b825f (diff)
Simplifications to expression reversing
-rwxr-xr-xdc.bqn10
1 files changed, 5 insertions, 5 deletions
diff --git a/dc.bqn b/dc.bqn
index c6b1dad4..2caae3d8 100755
--- a/dc.bqn
+++ b/dc.bqn
@@ -127,13 +127,13 @@ Compile←{
# Targetting dzaima/BQN bytecode:
RevE←{
- g←⍋d←+`p←bB(⊣(≠⊸>ׯ1⋆2|⊢)⊐)𝕩
- i←(⍋⊏⟜d)⊸⊏/p>0⋄f←(⍋⊏⟜d)⊸⊏/p<0
- l←1+(f-i)⌾((g⊏p<0)⊸/)0¨𝕩
- ps←g⊏(𝕩∊bS)∨p>0
+ g←⍋+`p←bB(⊣(≠⊸>ׯ1⋆2|⊢)⊐)𝕩
+ q←g⊏p⋄b←q>0⋄e←q<0
+ l←1+-⟜(b/g)⌾(e/⊢)e×g
+ ps←b∨g⊏(𝕩∊bS)
sl←-⟜(≠↑0∾⊢)(ps∾1)/+`l∾1
PL←{sl⌾(𝕩⊸/)0¨𝕩}
- ⍋¯1↓+`(⍋0∾1+g)⊏1+((1⊸∾+○PL∾⟜1)ps)-(1⊸∾+∾⟜1)l
+ ⍋+`(¯1↓⍋0∾1+g)⊏1+(1(∾+○PL∾˜)ps)-1(∾+∾˜)l
}
DParse ← {nv‿r𝕊𝕩:
rev←RevE𝕩⋄𝕩⊏˜↩rev⋄r⊏˜↩rev