aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorMarshall Lochbaum <mwlochbaum@gmail.com>2020-06-29 19:35:05 -0400
committerMarshall Lochbaum <mwlochbaum@gmail.com>2020-06-29 19:35:05 -0400
commitfba84369ae9fe7bdf0fa19c85076a52dbe2ce058 (patch)
treef4901474848e17283b6c2398113974e40e9b88bb /test
parentc689914c958fe6ec978ff1996a216cbd3f7313d9 (diff)
First two layers of dzaima+reference testing
Diffstat (limited to 'test')
-rw-r--r--test/testref.bqn138
1 files changed, 138 insertions, 0 deletions
diff --git a/test/testref.bqn b/test/testref.bqn
new file mode 100644
index 00000000..635514dc
--- /dev/null
+++ b/test/testref.bqn
@@ -0,0 +1,138 @@
+⍝ Tests of primitive functionality
+⍝ Ordering matches the reference implementations
+
+•←/¬∾´⟨
+{⟨
+ ⍝ LAYER 0
+ ⍝ [0,34)
+ 0≡¯2+2
+ 1e4≡5e3+5e3
+ ¯∞≡1e6-∞
+ 4≡-¯4
+ ¯∞≡-∞
+ ∞≡-¯∞
+ 4≡9-5
+ 1.5≡3×0.5
+ 4≡÷0.25
+ ∞≡÷0
+ 0≡÷∞
+ 1≡⋆0
+ ¯1≡¯1⋆5
+ 1≡¯1⋆¯6
+ 3≡⌊3.9
+ ¯4≡⌊¯3.9
+ ∞≡⌊∞
+ ¯∞≡⌊¯∞
+ ¯1e30≡⌊¯1e30
+ 1≡1=1
+ 0≡¯1=∞
+ 1≡1≤1
+ 1≡¯∞≤¯1e3
+ 0≡∞≤¯∞
+ ⟨⟩≡≢<2
+ ⟨3⟩≡≢"abc"
+ ⟨2,3⟩≡≢>"abc"‿"fed"
+ ⟨2,3,4,5⟩≡≢2‿3‿4‿5⥊↕120
+ ⟨6⟩≡≢⥊>"abc"‿"fed"
+ "abc"≡0⊑"abc"‿"de"
+ "de"≡1⊑"abc"‿"de"
+ ⟨⟩≡↕0
+ ⟨0⟩≡↕1
+ ⟨0,1,2,3,4,5,6⟩≡↕7
+⟩⊣𝕩}0
+
+{⟨
+ ⍝ LAYER 1
+ ⍝ [34,56)
+ 3≡4>◶+‿-1
+ 3≡4⊢◶+‿-1
+ 3≡4 1◶+‿-1
+ 5≡4<◶+‿-1
+ 5≡4 0◶+‿-1
+ 1≡-⊘0 ¯1
+ 1≡¯1-⊘+2
+ "abc"≡⊢"abc"
+ ""≡3⊢""
+ ⟨⟩≡⊣⟨⟩
+ "ab"≡"ab"⊣⟨⟩
+ 4≡+˜2
+ 3≡1-˜4
+ 1≡-∘ׯ6
+ ¯6≡2-∘×3
+ 1≡-○ׯ7
+ 2≡5-○ׯ7
+ ¯20≡1⊸-⊸×5
+ (0‿2+⌜0‿1)≡(>⟨"ab","cd"⟩)≢⊸⥊↕4
+ 20≡×⟜(-⟜1)5
+ 4≡5+⟜ׯ3
+ 7≡5+⟜2 ¯3
+ ⍝ [56,95)
+ 2≡√4
+ 3≡3√27
+ 6≡2∧3
+ 0≡¯2∧0
+ 0.75≡∨˜0.5
+ 1.75≡2∨0.25
+ 0≡¬1
+ 1≡¬0
+ 2≡¬¯1
+ 0≡3¬4
+ 2≡4¬3
+ 4≡5¬2
+ 0≡|0
+ 5≡|¯5
+ 6≡|6
+ ∞≡|¯∞
+ 2≡3|8
+ 2≡3|¯7
+ ¯1≡¯3|8
+ "a"≡⥊<'a'
+ "abcd"≡⊑<"abcd"
+ ⟨⟩≡≢<⟨2,⟨3,4⟩⟩
+ 0≡4<2
+ 0≡5>5
+ 0≡3≥4
+ 0≡≠""
+ 1≡≠"a"
+ 1≡≠'a'
+ 2≡≠"ab"
+ 25≡≠↕25
+ 1≡×5
+ ¯1≡ׯ2.5
+ 3≡3⌊4
+ ¯3≡¯3⌊∞
+ 4≡3⌈4
+ 1≡1⌈¯1
+ 5≡⌈4.01
+ ⟨⟩≡≢'a'
+ ⟨⟩≡≢0
+ ⍝ [95,104)
+ ⟨0⟩‿⟨1⟩‿⟨2⟩≡⥊¨↕3
+ (↕6)≡⟜(≠¨)○(2‿3⊸⥊)⟨⟩‿"a"‿"ab"‿"abc"‿"abcd"‿"abcde"‿"abcdef"
+ ≡⟜(≠¨)4‿0‿2⥊↕0
+ 6≡+´↕4
+ (⊑≡⊣´)"a"‿2‿(3‿"d")
+ 0(⊑≡⊣´)"a"‿2‿(3‿"d")
+ (2⊸⊑≡⊢´)"a"‿2‿(3‿"d")
+ 2(⊣≡⊢´)"a"‿2‿(3‿"d")
+ 7‿10≡+¨´⟨⟨2,3⟩,⟨5,7⟩⟩
+⟩⊣𝕩}0
+
+{⟨
+ ⍝ LAYER 2
+ ⍝ [104,117)
+ ⟨⟩≡⟨⟩∾""
+ "a"≡⟨⟩∾"a"
+ "a"≡"a"∾⟨⟩
+ "aBCD"≡"a"∾"BCD"
+ ((+⌜˜≠¨)≡(≠¨∾⌜˜))""‿⟨2,3⟩‿"abcde"
+ (⥊⟜(↕×´)≡(×⟜4)⊸(+⌜)○↕´)3‿4
+ (⥊⟜(↕×´)≡(×⟜4)⊸(+⌜)○↕´)0‿4
+ (3‿2‿0⥊"")≡(3‿2⥊↕6)+⌜""
+ (<<2)≡<¨2
+ ⟨1,⟨3,2,2‿2⥊⟨1,0,2,0⟩⟩,⟨5,4⟩⟩≡-⟨-1,⟨-3,-2,-¨2‿2⥊⟨1,0,2,0⟩⟩,⟨-5,-4⟩⟩
+ 3(+¨≡+⌜)↕6
+ 3‿4‿5‿6‿6≡{F:F⍟(×≡)⊸∾⟜⥊´𝕩}⟨2,1⟩+⟨⟨⟨⟨1,2⟩,3⟩,4⟩,5⟩
+ (=¨⟜(⥊⟜(↕×´)3‿4)≡(↕4)=⌜˜4|⊢)1‿6‿8
+⟩⊣𝕩}0
+⟩