aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
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⟩)