summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/smt/revrev_endianness.sail25
-rw-r--r--test/smt/revrev_endianness2.sail20
2 files changed, 45 insertions, 0 deletions
diff --git a/test/smt/revrev_endianness.sail b/test/smt/revrev_endianness.sail
new file mode 100644
index 00000000..f792871f
--- /dev/null
+++ b/test/smt/revrev_endianness.sail
@@ -0,0 +1,25 @@
+default Order dec
+
+$include <reverse_endianness.sail>
+
+$property
+function prop forall 'n, 'n in {8, 16, 32, 64, 128}. (n: int('n), xs: bits('n)) -> bool = {
+ if length(xs) == 8 then {
+ let ys: bits(8) = xs;
+ reverse_endianness(reverse_endianness(ys)) == ys
+ } else if length(xs) == 16 then {
+ let ys: bits(16) = xs;
+ reverse_endianness(reverse_endianness(ys)) == ys
+ } else if length(xs) == 32 then {
+ let ys: bits(32) = xs;
+ reverse_endianness(reverse_endianness(ys)) == ys
+ } else if length(xs) == 64 then {
+ let ys: bits(64) = xs;
+ reverse_endianness(reverse_endianness(ys)) == ys
+ } else if length(xs) == 128 then {
+ let ys: bits(128) = xs;
+ reverse_endianness(reverse_endianness(ys)) == ys
+ } else {
+ true
+ }
+}
diff --git a/test/smt/revrev_endianness2.sail b/test/smt/revrev_endianness2.sail
new file mode 100644
index 00000000..33ba93a2
--- /dev/null
+++ b/test/smt/revrev_endianness2.sail
@@ -0,0 +1,20 @@
+default Order dec
+
+$include <reverse_endianness.sail>
+
+$property
+function prop forall 'n, 'n in {8, 16, 32, 64, 128}. (n: int('n), xs: bits('n)) -> bool = {
+ if length(xs) == 8 then {
+ reverse_endianness(reverse_endianness(xs)) == xs
+ } else if length(xs) == 16 then {
+ reverse_endianness(reverse_endianness(xs)) == xs
+ } else if length(xs) == 32 then {
+ reverse_endianness(reverse_endianness(xs)) == xs
+ } else if length(xs) == 64 then {
+ reverse_endianness(reverse_endianness(xs)) == xs
+ } else if length(xs) == 128 then {
+ reverse_endianness(reverse_endianness(xs)) == xs
+ } else {
+ true
+ }
+}