diff options
Diffstat (limited to 'src/test')
| -rw-r--r-- | src/test/test5.sail | 21 |
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; + } + |
