aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMarshall Lochbaum <mwlochbaum@gmail.com>2022-04-06 19:37:51 -0400
committerMarshall Lochbaum <mwlochbaum@gmail.com>2022-04-06 19:49:40 -0400
commitd60e28f547fbb4f32434c453cf8dcb4605a5f54a (patch)
tree23bfb7cb69205c48d26b461e451cb0701d441168 /src
parent171de83f2181d28c45cec01613bb6d576f286763 (diff)
Implement under βš‡ (only negative and infinite depths can be supported)
Diffstat (limited to 'src')
-rw-r--r--src/r1.bqn10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/r1.bqn b/src/r1.bqn
index 167b9f51..87888a10 100644
--- a/src/r1.bqn
+++ b/src/r1.bqn
@@ -423,6 +423,14 @@ under←{
}
𝕨 𝔽_r_𝔾○((1 Expand 1βŠ‘Decompose)⍟(Wr IsStruct)) 𝕩
}
+ _depthStruct_←{
+ n←𝕨𝔾_ranks𝕩 β‹„ F←𝔽 β‹„ B←{𝕏}⊘{π•¨Λ™βŠΈπ•}
+ "Under βš‡: depths must be less than 0, or ∞"!1Γ—Β΄(∞⊸=∨0⊸>)⌜n
+ _tf←{π•—βŒœ_withNest} β‹„ _ef←{𝕗_eachd _withNest}
+ a ← {(𝕨 B 𝕗)_tf𝕩}β€Ώ{π”½βŸœ(𝕩˙)_tf𝕨}β€Ώ_ef
+ _d←{ t←2βŠΈΓ—βŠΈ+Β΄0⊸>βŒœπ•— β‹„ 𝕗{𝕩⋄m←(t-1)βŠ‘aβ‹„(+⟜1βŒœπ•—)_d _m}⍟(0<t) f }
+ 𝕨 n _d 𝕩
+ }
_amb ← {(IsStruct⊒)β—ΆβŸ¨π•, 𝕩‿𝕗{𝕨𝕏𝕗}⟩}
_mon ← {(𝕗_amb𝕩)⊘(NS𝕩)}
@@ -444,7 +452,7 @@ under←{
"¨⌜", {m←𝕩⋄{𝔽 _m _withNest}}
"˘", {𝕩⋄{𝔽 _rankStruct_ Β―1}}
"βŽ‰", rankStructΛ™
- # "βš‡",
+ "βš‡", depthStructΛ™
⟩
NSPrim ← (Type-3Λ™)β—ΆβŸ¨NS, {m←𝕩⋄{NS(𝕗_m)Λ™0}}, {m←𝕩⋄{NS(𝕗_m_π•˜)Λ™0}}⟩
SP ← (Join1 k)_glyphLookup_((kβ‰ βŒœβŠΈ/v)∾⟨NSPrim⟩)