[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH] tests: add comparison against rotated number test.
From: |
Ekaitz Zarraga |
Subject: |
[PATCH] tests: add comparison against rotated number test. |
Date: |
Tue, 29 Aug 2023 18:41:22 +0000 |
>From f73ff81a2fd12c33f4f3334677fd05830d6c7dcd Mon Sep 17 00:00:00 2001
From: Ekaitz Zarraga <ekaitz@elenq.tech>
Date: Tue, 29 Aug 2023 20:15:03 +0200
Subject: [PATCH] tests: add comparison against rotated number test.
* lib/tests/scaffold/17-compare-rotated.c: Add file.
* build-aux/check-mescc.sh (mes_tests): Add it.
---
build-aux/check-mescc.sh | 1 +
lib/tests/scaffold/17-compare-rotated.c | 41 +++++++++++++++++++++++++
2 files changed, 42 insertions(+)
create mode 100644 lib/tests/scaffold/17-compare-rotated.c
diff --git a/build-aux/check-mescc.sh b/build-aux/check-mescc.sh
index 13bf80e6..5fd89a1e 100755
--- a/build-aux/check-mescc.sh
+++ b/build-aux/check-mescc.sh
@@ -66,6 +66,7 @@ lib/tests/scaffold/17-compare-or.c
lib/tests/scaffold/17-compare-and-or.c
lib/tests/scaffold/17-compare-assign.c
lib/tests/scaffold/17-compare-call.c
+lib/tests/scaffold/17-compare-rotated.c
lib/tests/scaffold/18-assign-shadow.c
lib/tests/scaffold/20-while.c
lib/tests/scaffold/21-char-array-simple.c
diff --git a/lib/tests/scaffold/17-compare-rotated.c
b/lib/tests/scaffold/17-compare-rotated.c
new file mode 100644
index 00000000..9c2eb73d
--- /dev/null
+++ b/lib/tests/scaffold/17-compare-rotated.c
@@ -0,0 +1,41 @@
+/* -*-comment-start: "//";comment-end:""-*-
+ * GNU Mes --- Maxwell Equations of Software
+ * Copyright © 2023 Ekaitz Zarraga <ekaitz@elenq.tech>
+ *
+ * This file is part of GNU Mes.
+ *
+ * GNU Mes is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or (at
+ * your option) any later version.
+ *
+ * GNU Mes is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with GNU Mes. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include<stdint.h>
+#include<stdio.h>
+
+int
+main ()
+{
+ uint32_t r = 0xFFFFFFFF;
+ r = r <<30 >>30; // higher 30 bits are cleared because they leave
+ // the register to the left
+ if (r != 3)
+ return 1;
+
+ uint16_t s = 0xFFFF;
+ s = s <<14 >>14; // s<<14 is promoted to int, the higher bits are
+ // not cleared, because there's space in the
+ // register
+ if (s != 0xFFFF)
+ return 2;
+
+ return 0;
+}
--
2.41.0
- [PATCH] tests: add comparison against rotated number test.,
Ekaitz Zarraga <=