aboutsummaryrefslogtreecommitdiff
path: root/spec
diff options
context:
space:
mode:
authorMarshall Lochbaum <mwlochbaum@gmail.com>2020-06-30 19:30:58 -0400
committerMarshall Lochbaum <mwlochbaum@gmail.com>2020-06-30 19:31:21 -0400
commit723f6a92c6af9a46dfbd066fb18e014868bd6487 (patch)
tree685420c8757ecfe143b68cae8362b5a0acab3a93 /spec
parent5cfbc5909bd33b5927f7b1fdb44944819563a385 (diff)
Tests for layer 4; fix βš‡ with non-matching depths
Diffstat (limited to 'spec')
-rwxr-xr-xspec/dzref17
-rw-r--r--spec/reference.bqn7
2 files changed, 11 insertions, 13 deletions
diff --git a/spec/dzref b/spec/dzref
index 997e5d58..00f6c85e 100755
--- a/spec/dzref
+++ b/spec/dzref
@@ -4,7 +4,6 @@ impl ← "β—Ά ← {𝕨((𝕨𝔽𝕩)βŠ‘π•˜){𝔽}𝕩}
√ ← β‹†βŸœ(Γ·2) ⊘ (β‹†βŸœΓ·Λœ)
∧ ← Γ—
∨ ← (+-Γ—)
-> ← (¬≀)
| ← Γ—βŸœΓ— ⊘ {𝕩-π•¨Γ—βŒŠπ•©Γ·π•¨}
_eachm←{
@@ -90,16 +89,13 @@ DropV← {βŠ‘βŸœπ•©Β¨π•¨+↕𝕨-Λœβ‰ π•©}
Cell ← DropVβŸœβ‰’
Pair ← {βŸ¨π•©βŸ©} ⊘ {βŸ¨π•¨,π•©βŸ©}
-Unbox←(0<β‰ βˆ˜β₯Š)β—ΆβŠ’β€Ώ{
- cβ†β‰’βŠ‘π•©
- ! ∧´β₯Š(c≑≒)¨𝕩
- π•©βŠ‘βŸœToArrayΛœβŒœβ†•c
-}
-> ↩ Unbox ⊘ >
_ranks ← {⟨2⟩⊘⟨1,0⟩((⊣-1+|)ΛœβŸœβ‰ βŠ‘Β¨<∘⊒)β₯Šβˆ˜π”½}
_depthOp_←{
neg←0>n←𝕨𝔾_ranks𝕩 β‹„ F←𝔽
- _d←{𝕨(∧´(negβˆ§π•—β‰₯0)∨(0βŒˆπ•—)β‰₯Pair○≑)β—ΆβŸ¨(𝕗+neg)_dΒ¨β‹„FβŸ©π•©}
+ _d←{
+ R←(𝕗+neg)_d
+ 𝕨(2β₯Š(negβˆ§π•—β‰₯0)∨(0βŒˆπ•—)β‰₯Pair○≑)β—Ά(⟨RΒ¨β‹„RβŸœπ•©Β¨βˆ˜βŠ£βŸ©β‰βŸ¨(𝕨R⊒)Β¨βˆ˜βŠ’β‹„F⟩)𝕩
+ }
𝕨 n _d 𝕩
}
βš‡ ← _depthOp_
@@ -125,7 +121,7 @@ _scan←{
` ← _scan
_iterate_←{
n←𝕨𝔾𝕩
- F←𝕨(0⊘1)β—ΆβŸ¨π”½,π•¨π”½βŠ’βŸ©βŠ’
+ fβ†βŠ‘π•¨βŸ¨π”½βŸ©βŠ˜βŸ¨π•¨π”½βŠ’βŸ©π•©
l←u←0
{!Int𝕩⋄l↩lβŒŠπ•©β‹„u↩uβŒˆπ•©}βš‡0 n
a←𝕩⋄_p←{π”½βˆ˜βŠ£`(1+𝕩)β₯Š<a}
@@ -133,7 +129,6 @@ _iterate_←{
(|βŠ‘<⟜0βŠ‘posβ€Ώneg˜)βš‡0 n
}
-≍ ← >∘Pair
βŽ‰ ← _rankOp_
⍟ ← _iterate_
˘ ← βŽ‰Β―1
@@ -319,7 +314,7 @@ ProgressiveIndexOf ← {π•¨βŠβ—‹(β‰Λ˜βŸœOccurrenceCountπ•¨βŠΈβŠ)𝕩}
{
names ← β₯Š"AB"βˆΎβŒœβ€’a
- f_chr ← "!√∧∨|>β‰‘βˆΎβ‰β†‘β†“β†•βŒ½β‰/β‹β’βŠβŠ‘βŠβŠ’βˆŠβ·βŠ”"
+ f_chr ← "!√∧∨|β‰‘βˆΎβ†‘β†“β†•βŒ½β‰/β‹β’βŠβŠ‘βŠβŠ’βˆŠβ·βŠ”"
m_chr ← "˘¨⌜´`"
d_chr ← "βŒΎβŽ‰βš‡βŸβ—Ά"
diff --git a/spec/reference.bqn b/spec/reference.bqn
index 6ecf59d3..5a6ab5ab 100644
--- a/spec/reference.bqn
+++ b/spec/reference.bqn
@@ -196,7 +196,10 @@ Unbox←(0<β‰ βˆ˜β₯Š)β—ΆβŠ’β€Ώ{
_ranks ← {⟨2⟩⊘⟨1,0⟩((⊣-1+|)ΛœβŸœβ‰ βŠ‘Β¨<∘⊒)β₯Šβˆ˜π”½}
_depthOp_←{
neg←0>n←𝕨𝔾_ranks𝕩 β‹„ F←𝔽
- _d←{𝕨(∧´(negβˆ§π•—β‰₯0)∨(0βŒˆπ•—)β‰₯Pair○≑)β—ΆβŸ¨(𝕗+neg)_dΒ¨β‹„FβŸ©π•©}
+ _d←{
+ R←(𝕗+neg)_d
+ 𝕨(2β₯Š(negβˆ§π•—β‰₯0)∨(0βŒˆπ•—)β‰₯Pair○≑)β—Ά(⟨RΒ¨β‹„RβŸœπ•©Β¨βˆ˜βŠ£βŸ©β‰βŸ¨(𝕨R⊒)Β¨βˆ˜βŠ’β‹„F⟩)𝕩
+ }
𝕨 n _d 𝕩
}
_rankOp_←{
@@ -220,7 +223,7 @@ _scan←{
}
_iterate_←{
n←𝕨𝔾𝕩
- F←𝕨(0⊘1)β—ΆβŸ¨π”½,π•¨π”½βŠ’βŸ©βŠ’
+ fβ†βŠ‘π•¨βŸ¨π”½βŸ©βŠ˜βŸ¨π•¨π”½βŠ’βŸ©π•©
l←u←0
{!Int𝕩⋄l↩lβŒŠπ•©β‹„u↩uβŒˆπ•©}βš‡0 n
a←𝕩⋄_p←{π”½βˆ˜βŠ£`(1+𝕩)β₯Š<a}