summaryrefslogtreecommitdiff
path: root/src/test
diff options
context:
space:
mode:
authorKathy Gray2014-06-18 17:37:21 +0100
committerKathy Gray2014-06-18 17:37:21 +0100
commit2bfbf6fc249ce07da5d758b5f39ddb8c0258a42c (patch)
treebc2bc808b4125754db8faa3d542e9c7d27ac27c3 /src/test
parent98e766fd1453d9df38f487b4314b7150c00b2d6a (diff)
Correct effect matching bug; and print out effect lists
Diffstat (limited to 'src/test')
-rw-r--r--src/test/test5.sail21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/test/test5.sail b/src/test/test5.sail
new file mode 100644
index 00000000..bcc108c4
--- /dev/null
+++ b/src/test/test5.sail
@@ -0,0 +1,21 @@
+register (bit) SAT
+
+val forall Nat 'n, Nat 'm, 'n <= 0, 0 <= 'm.
+ (nat, [|'n|], [|'m|]) -> [|'n:'m|] effect { wreg } Clamp
+
+function
+ forall Nat 'n, Nat 'm, 'n <= 0, 0 <= 'm. ([|'n:'m|])
+ Clamp((nat) x, ([|'n|]) y, ([|'m|]) z) = {
+ ([|'n:'m|]) result := 0;
+ if (x<y) then {
+ result := y;
+ SAT := bitone;
+ } else if (x > z) then {
+ result := z;
+ SAT := bitone;
+ } else {
+ result := x;
+ };
+ result;
+ }
+