diff options
| author | Marshall Lochbaum <mwlochbaum@gmail.com> | 2020-06-30 22:05:40 -0400 |
|---|---|---|
| committer | Marshall Lochbaum <mwlochbaum@gmail.com> | 2020-06-30 22:07:03 -0400 |
| commit | 37350b0fbfe69866f4399081c4639fb036dbfd08 (patch) | |
| tree | 4d3d02a6a95ce70341402714f1f34bc0d4696c58 | |
| parent | 723f6a92c6af9a46dfbd066fb18e014868bd6487 (diff) | |
Tests and fixes for layer 5
| -rwxr-xr-x | spec/dzref | 16 | ||||
| -rw-r--r-- | spec/reference.bqn | 14 | ||||
| -rw-r--r-- | test/testref.bqn | 50 |
3 files changed, 65 insertions, 15 deletions
@@ -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=β β’π© diff --git a/test/testref.bqn b/test/testref.bqn index bedfbfe0..62758027 100644 --- a/test/testref.bqn +++ b/test/testref.bqn @@ -201,4 +201,54 @@ ((0βΎΒ¨β3)β3β₯0)β‘β‘`β2βΏ3 β¨β©β‘Γ`β¨β© β‘β(!β0`)3βΏ0βΏ2β₯"" + + β LAYER 5 + β [183,230) + (<'a')β‘β"abc" + "a"β‘ββ₯Λ"abc" + (<'c')β‘2β"abc" + (<'c')β‘Β―1β"abc" + "ccc"β‘2βΏΒ―1βΏ2β"abc" + ((3-Λβ5)βΈββ‘2βΈβ½)β5βΏ2 + (0βΏ3β₯0)β‘β¨β©β2βΏ3β₯β6 + β¨3βΏ0,2βΏ1βΏ2β©(Γβ5βΈ+βΒ΄ββ£β‘β)β₯β(βΓΒ΄)6βΏ5 + (2βΏ0β₯0)β‘β¨3βΏΒ―1,β¨β©β©β4βΏ3β₯0 + 5βΏ1(<βΈββ‘β)β6βΏ2 + β¨4βΏ0,1βΏ2βΏ3βΏ2βΏ1βΏ0β©(+βΒ΄βΈ(Γβ)β‘ββ(ΓβΛ))+βΛβ5 + "abc"β‘3β"abce" + "e"β‘Β―1β"abce" + ""β‘0β"ab" + (<β3βΈΓβ5)β‘5ββ3 + (6β₯0)β‘Β―6ββ0 + (ββ3)β‘1β2βΏ3β₯β6 + (ββ4β‘β₯β0)β3 + (β"abc")β‘1β2βΏ3β"abcd" + (6β₯1)(ββ‘β₯ββ)2βΏ3β₯β6 + (βΒ¨βββ(1βΈ+)β‘βββ)5 + (ββ‘((β4)βΒ¨2)β₯Β¨<)3βΏ2β₯"abcdef" + "d"β‘3β"abcd" + 1βΏ2β‘β(Β―3βΈβ)ββ4βΏ2 + 1βΏ1βΏ3βΏ2βΏ1β‘β’(5β₯0)ββ3βΏ2βΏ1 + (ββββ‘ββ(1βΈ+)+ββ½βββ)5 + (β3βΏ4)β‘1βΒ¨ββ2βΏ3βΏ4 + (4+βββ2)β‘2ββ5 + β¨β©(ββ‘β’)4βΏ3β₯"abcd" + (0βΈββ‘(0βΛ1+β )βΈβ₯)β6 + (7β6βΏ0β₯"")β‘0βΏ7βΏ0β₯"" + β‘ββ½β¨β© + β‘ββ½"a" + "ba"β‘ββ½"ab" + (β½β‘(1-Λβ )(-βββΎ1ββ’)β1β’)β3βΏ2βΏ4 + β‘ββ½ββ3 + β§Β΄5(β½β‘β’)Β¨β¨"",β₯β,β5,β0βΏ4,2βΏ0βΏ3β₯""β© + β§Β΄("bcdea"β‘β½β"abcde")Β¨1+5ΓΒ―10βΏΒ―2βΏΒ―1βΏ0βΏ1βΏ6βΏ61 + β§Β΄β¨1,0βΏ2,Β―1βΏ1βΏ3β©(βββ½β‘(3βΈβ)βΈβ)βΒ―1βΏβ 2βΏ3βΏ5β₯"abcdef" + β¨β©(β½β‘β’)'a' + 0βΏ4β‘/1βΏ0βΏ0βΏ0βΏ1βΏ0 + 1βΏ1βΏ2β‘/0βΏ2βΏ1 + β‘β/β¨β© + "aabbcc"β‘2/"abc" + 3βΏ3βΏ3βΏ2βΏ2βΏ1β‘/Λ3βΏ2βΏ1 + (β1βΎΒ¨1βΏ2βΏ2)β‘(βΒ¨/β)2βΏ3 + β¨β©(/β‘β’)β"ab" β© |
