From 4fa91c4a662c8cb1f1efe631610b944381e12457 Mon Sep 17 00:00:00 2001 From: Marshall Lochbaum Date: Sun, 6 Sep 2020 10:51:56 -0400 Subject: =?UTF-8?q?Faster=20=E2=88=8A=E2=9F=9CRanges=20implementation?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- md.bqn | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/md.bqn b/md.bqn index 1698bf22..f8ab861f 100644 --- a/md.bqn +++ b/md.bqn @@ -101,6 +101,11 @@ Ranges ← { 𝕩 ↩ βˆ˜β€Ώ2 β₯Š 𝕩 # Reshape into pairs ∾ R¨˝˘ 𝕩 } +# ∊⟜Ranges assuming 𝕨 is sorted +InRanges ← { + 𝕩 +↩ 2|↕≠𝕩 # Since ⍋ works with half-open intervals + 2 | 𝕩 ⍋ 𝕨 +} # Create an html node from a tag name and interior text. Html ← {open π•Š contents: @@ -302,7 +307,7 @@ Markdown ← {filenameπ•Šπ•©: # Inline elements ProcInline ← { I2M ← (≠𝕩) ↑ /⁼ # Index to mask - punc ← 𝕩 ∊ Ranges "!/:@[`{~" + punc ← 𝕩 InRanges "!/:@[`{~" actual ← Β¬ punc ∧ IsEscaped 𝕩 # backtick or *actual* backtick? # Code spans -- cgit v1.2.3