From 37350b0fbfe69866f4399081c4639fb036dbfd08 Mon Sep 17 00:00:00 2001 From: Marshall Lochbaum Date: Tue, 30 Jun 2020 22:05:40 -0400 Subject: Tests and fixes for layer 5 --- spec/dzref | 16 ++++++++-------- spec/reference.bqn | 14 +++++++------- 2 files changed, 15 insertions(+), 15 deletions(-) (limited to 'spec') diff --git a/spec/dzref b/spec/dzref index 00f6c85e..99d8789d 100755 --- a/spec/dzref +++ b/spec/dzref @@ -165,7 +165,7 @@ JoinTo←{ s←𝕨Pair○≒𝕩 a←1⌈´k←≠¨s ! ∧´1β‰₯a-k - c←(a-k)+⟜(↕a-1)⊸⊏¨s + c←(kΒ¬a)+⟜(↕a-1)⊸⊏¨s ! ≑´c l←+Β΄(a=k)βŠ£β—Ά1β€Ώ(βŠ‘βŠ’)Β¨s (⟨lβŸ©βˆΎβŠ‘c)β₯Šπ•¨βˆΎβ—‹β₯Šπ•© @@ -175,18 +175,19 @@ Take←{ T←{ ! Int 𝕨 l←≠𝕩 - i←((𝕨<0)×𝕨+l)+↕|𝕨 - ((l+1)|Β―1⌈l⌊i)βŠπ•© JoinTo (1 Cell 𝕩)β₯ŠType 𝕩 + i←(l+1)|Β―1⌈l⌊((𝕨<0)×𝕨+l)+↕|𝕨 + i⊏JoinTo⟜(1⊸Cellβ₯ŠType)⍟(0∨´l=i)𝕩 } 𝕨 T _onAxes_ 0 (⟨1⟩β₯ŠΛœ0βŒˆπ•¨-β—‹β‰ βŠ’)βŠΈβˆΎβˆ˜β‰’βŠΈβ₯Šπ•© } Prefixes ← {!1≀≠≒𝕩 β‹„ (↕1+≠𝕩)TakeΒ¨<𝕩} ↑ ← Prefixes ⊘ Take Drop←{ - s←(≠𝕨)(βŠ£β†‘βŠ’βˆΎβ₯ŠΛœ0⌈-βŸœβ‰ )≒𝕩 + s←(≠𝕨)(βŠ£β†‘βŠ’βˆΎΛœ1β₯ŠΛœ0⌈-βŸœβ‰ )≒𝕩 ((sΓ—Β―1⋆𝕨>0)+(-s)⌈sβŒŠπ•¨)↑𝕩 } Suffixes ← {!1≀≠≒𝕩 β‹„ (↕1+≠𝕩)DropΒ¨<𝕩} +↓ ← Suffixes ⊘ Drop Windows←{ ! IsArray 𝕩 @@ -194,12 +195,12 @@ Windows←{ ! 𝕨≀○≠≒𝕩 ! ∧´NatΒ¨β₯Šπ•¨ s←(≠𝕨)↑≒𝕩 - ! βˆ§Β΄π•¨β‰€s - ><Β¨βŠΈβŠβŸœπ•©Β¨s(Β¬+βŒœβ—‹β†•βŠ’)β₯Šπ•¨ + ! βˆ§Β΄π•¨β‰€1+s + 𝕨{(∾⟜(π•¨β‰ βŠΈβ†“β‰’π•©)βˆ˜β‰’β₯Š>)<Β¨βŠΈβŠβŸœπ•©Β¨s(Β¬+βŒœβ—‹β†•βŠ’)β₯Šπ•¨}⍟(0<≠𝕨)𝕩 } Reverse ← {!1≀≠≒𝕩 β‹„ (-β†•βŠΈΒ¬β‰ π•©)βŠπ•©} -Rotate ← {!Nat𝕨 β‹„ l←≠𝕩⋄(l|𝕨+↕l)βŠπ•©} _onAxes_ 0 +Rotate ← {!Int𝕨 β‹„ l←≠𝕩⋄(l|𝕨+↕l)βŠπ•©} _onAxes_ 0 Indices←{ ! 1=≠≒𝕩 @@ -209,7 +210,6 @@ Indices←{ Rep ← Indices⊸⊏ Replicate ← {0<≠≒𝕨}β—Ά(β₯ŠΛœβŸœβ‰ Rep⊒)β€Ώ{!𝕨=○≠𝕩⋄𝕨Rep𝕩} _onAxes_ (1-0=β‰ ) -↓ ← Suffixes ⊘ Drop ↕ ↩ ↕ ⊘ Windows ⌽ ← Reverse ⊘ Rotate / ← Indices ⊘ Replicate diff --git a/spec/reference.bqn b/spec/reference.bqn index 5a6ab5ab..9c82cda1 100644 --- a/spec/reference.bqn +++ b/spec/reference.bqn @@ -269,7 +269,7 @@ JoinTo←{ s←𝕨Pair○≒𝕩 a←1⌈´k←≠¨s ! ∧´1β‰₯a-k - c←(a-k)+⟜(↕a-1)⊸⊏¨s + c←(kΒ¬a)+⟜(↕a-1)⊸⊏¨s ! ≑´c l←+Β΄(a=k)βŠ£β—Ά1β€Ώ(βŠ‘βŠ’)Β¨s (⟨lβŸ©βˆΎβŠ‘c)β₯Šπ•¨βˆΎβ—‹β₯Šπ•© @@ -279,13 +279,13 @@ Take←{ T←{ ! Int 𝕨 l←≠𝕩 - i←((𝕨<0)×𝕨+l)+↕|𝕨 - ((l+1)|Β―1⌈l⌊i)βŠπ•© JoinTo (1 Cell 𝕩)β₯ŠType 𝕩 + i←(l+1)|Β―1⌈l⌊((𝕨<0)×𝕨+l)+↕|𝕨 + i⊏JoinTo⟜(1⊸Cellβ₯ŠType)⍟(∨´l=i)𝕩 } 𝕨 T _onAxes_ 0 (⟨1⟩β₯ŠΛœ0βŒˆπ•¨-β—‹β‰ βŠ’)βŠΈβˆΎβˆ˜β‰’βŠΈβ₯Šπ•© } Drop←{ - s←(≠𝕨)(βŠ£β†‘βŠ’βˆΎβ₯ŠΛœ0⌈-βŸœβ‰ )≒𝕩 + s←(≠𝕨)(βŠ£β†‘βŠ’βˆΎΛœ1β₯ŠΛœ0⌈-βŸœβ‰ )≒𝕩 ((sΓ—Β―1⋆𝕨>0)+(-s)⌈sβŒŠπ•¨)↑𝕩 } Prefixes ← {!1≀≠≒𝕩 β‹„ (↕1+≠𝕩)TakeΒ¨<𝕩} @@ -297,12 +297,12 @@ Windows←{ ! 𝕨≀○≠≒𝕩 ! ∧´NatΒ¨β₯Šπ•¨ s←(≠𝕨)↑≒𝕩 - ! βˆ§Β΄π•¨β‰€s - ><Β¨βŠΈβŠβŸœπ•©Β¨s(Β¬+βŒœβ—‹β†•βŠ’)β₯Šπ•¨ + ! βˆ§Β΄π•¨β‰€1+s + 𝕨{(∾⟜(π•¨β‰ βŠΈβ†“β‰’π•©)βˆ˜β‰’β₯Š>)<Β¨βŠΈβŠβŸœπ•©Β¨s(Β¬+βŒœβ—‹β†•βŠ’)β₯Šπ•¨}⍟(0<≠𝕨)𝕩 } Reverse ← {!1≀≠≒𝕩 β‹„ (-β†•βŠΈΒ¬β‰ π•©)βŠπ•©} -Rotate ← {!Nat𝕨 β‹„ l←≠𝕩⋄(l|𝕨+↕l)βŠπ•©} _onAxes_ 0 +Rotate ← {!Int𝕨 β‹„ l←≠𝕩⋄(l|𝕨+↕l)βŠπ•©} _onAxes_ 0 Indices←{ ! 1=≠≒𝕩 -- cgit v1.2.3