golang.org/x/arch@v0.17.0/internal/unify/testdata/vars.yaml (about) 1 # 2 # Basic tests 3 # 4 5 name: "basic string" 6 unify: 7 - $x 8 - test 9 all: 10 - test 11 --- 12 name: "basic tuple" 13 unify: 14 - [$x, $x] 15 - [test, test] 16 all: 17 - [test, test] 18 --- 19 name: "three tuples" 20 unify: 21 - [$x, $x] 22 - [test, _] 23 - [_, test] 24 all: 25 - [test, test] 26 --- 27 name: "basic def" 28 unify: 29 - {a: $x, b: $x} 30 - {a: test, b: test} 31 all: 32 - {a: test, b: test} 33 --- 34 name: "three defs" 35 unify: 36 - {a: $x, b: $x} 37 - {a: test} 38 - {b: test} 39 all: 40 - {a: test, b: test} 41 42 # 43 # Bottom tests 44 # 45 46 --- 47 name: "basic bottom" 48 unify: 49 - [$x, $x] 50 - [test, foo] 51 all: [] 52 --- 53 name: "three-way bottom" 54 unify: 55 - [$x, $x] 56 - [test, _] 57 - [_, foo] 58 all: [] 59 60 # 61 # Basic sum tests 62 # 63 64 --- 65 name: "basic sum" 66 unify: 67 - $x 68 - !sum [a, b] 69 all: 70 - a 71 - b 72 --- 73 name: "sum of tuples" 74 unify: 75 - [$x] 76 - !sum [[a], [b]] 77 all: 78 - [a] 79 - [b] 80 --- 81 name: "acausal sum" 82 unify: 83 - [_, !sum [a, b]] 84 - [$x, $x] 85 all: 86 - [a, a] 87 - [b, b] 88 89 # 90 # Transitivity tests 91 # 92 93 --- 94 name: "transitivity" 95 unify: 96 - [_, _, _, test] 97 - [$x, $x, _, _] 98 - [ _, $x, $x, _] 99 - [ _, _, $x, $x] 100 all: 101 - [test, test, test, test] 102 103 # 104 # Multiple vars 105 # 106 107 --- 108 name: "basic uncorrelated vars" 109 unify: 110 - - !sum [1, 2] 111 - !sum [3, 4] 112 - - $a 113 - $b 114 all: 115 - [1, 3] 116 - [1, 4] 117 - [2, 3] 118 - [2, 4] 119 --- 120 name: "uncorrelated vars" 121 unify: 122 - - !sum [1, 2] 123 - !sum [3, 4] 124 - !sum [1, 2] 125 - - $a 126 - $b 127 - $a 128 all: 129 - [1, 3, 1] 130 - [1, 4, 1] 131 - [2, 3, 2] 132 - [2, 4, 2] 133 --- 134 name: "entangled vars" 135 unify: 136 - - !sum [[1,2],[3,4]] 137 - !sum [[2,1],[3,4],[4,3]] 138 - - [$a, $b] 139 - [$b, $a] 140 all: 141 - - [1, 2] 142 - [2, 1] 143 - - [3, 4] 144 - [4, 3] 145 146 # 147 # End-to-end examples 148 # 149 150 --- 151 name: "end-to-end" 152 unify: 153 - go: Add 154 in: 155 - go: $t 156 - go: $t 157 - in: !repeat 158 - !sum 159 - go: Int32x4 160 base: int 161 - go: Uint32x4 162 base: uint 163 all: 164 - go: Add 165 in: 166 - base: int 167 go: Int32x4 168 - base: int 169 go: Int32x4 170 - go: Add 171 in: 172 - base: uint 173 go: Uint32x4 174 - base: uint 175 go: Uint32x4