| # |
| # Basic tests |
| # |
| |
| name: "basic string" |
| unify: |
| - $x |
| - test |
| all: |
| - test |
| --- |
| name: "basic tuple" |
| unify: |
| - [$x, $x] |
| - [test, test] |
| all: |
| - [test, test] |
| --- |
| name: "three tuples" |
| unify: |
| - [$x, $x] |
| - [test, _] |
| - [_, test] |
| all: |
| - [test, test] |
| --- |
| name: "basic def" |
| unify: |
| - {a: $x, b: $x} |
| - {a: test, b: test} |
| all: |
| - {a: test, b: test} |
| --- |
| name: "three defs" |
| unify: |
| - {a: $x, b: $x} |
| - {a: test} |
| - {b: test} |
| all: |
| - {a: test, b: test} |
| |
| # |
| # Bottom tests |
| # |
| |
| --- |
| name: "basic bottom" |
| unify: |
| - [$x, $x] |
| - [test, foo] |
| all: [] |
| --- |
| name: "three-way bottom" |
| unify: |
| - [$x, $x] |
| - [test, _] |
| - [_, foo] |
| all: [] |
| |
| # |
| # Basic sum tests |
| # |
| |
| --- |
| name: "basic sum" |
| unify: |
| - $x |
| - !sum [a, b] |
| all: |
| - a |
| - b |
| --- |
| name: "sum of tuples" |
| unify: |
| - [$x] |
| - !sum [[a], [b]] |
| all: |
| - [a] |
| - [b] |
| --- |
| name: "acausal sum" |
| unify: |
| - [_, !sum [a, b]] |
| - [$x, $x] |
| all: |
| - [a, a] |
| - [b, b] |
| |
| # |
| # Transitivity tests |
| # |
| |
| --- |
| name: "transitivity" |
| unify: |
| - [_, _, _, test] |
| - [$x, $x, _, _] |
| - [ _, $x, $x, _] |
| - [ _, _, $x, $x] |
| all: |
| - [test, test, test, test] |
| |
| # |
| # Multiple vars |
| # |
| |
| --- |
| name: "basic uncorrelated vars" |
| unify: |
| - - !sum [1, 2] |
| - !sum [3, 4] |
| - - $a |
| - $b |
| all: |
| - [1, 3] |
| - [1, 4] |
| - [2, 3] |
| - [2, 4] |
| --- |
| name: "uncorrelated vars" |
| unify: |
| - - !sum [1, 2] |
| - !sum [3, 4] |
| - !sum [1, 2] |
| - - $a |
| - $b |
| - $a |
| all: |
| - [1, 3, 1] |
| - [1, 4, 1] |
| - [2, 3, 2] |
| - [2, 4, 2] |
| --- |
| name: "entangled vars" |
| unify: |
| - - !sum [[1,2],[3,4]] |
| - !sum [[2,1],[3,4],[4,3]] |
| - - [$a, $b] |
| - [$b, $a] |
| all: |
| - - [1, 2] |
| - [2, 1] |
| - - [3, 4] |
| - [4, 3] |
| |
| # |
| # End-to-end examples |
| # |
| |
| --- |
| name: "end-to-end" |
| unify: |
| - go: Add |
| in: |
| - go: $t |
| - go: $t |
| - in: !repeat |
| - !sum |
| - go: Int32x4 |
| base: int |
| - go: Uint32x4 |
| base: uint |
| all: |
| - go: Add |
| in: |
| - base: int |
| go: Int32x4 |
| - base: int |
| go: Int32x4 |
| - go: Add |
| in: |
| - base: uint |
| go: Uint32x4 |
| - base: uint |
| go: Uint32x4 |