aboutsummaryrefslogtreecommitdiffstats
path: root/test/monniaux/division
diff options
context:
space:
mode:
authorDavid Monniaux <david.monniaux@univ-grenoble-alpes.fr>2019-05-13 17:27:00 +0200
committerDavid Monniaux <david.monniaux@univ-grenoble-alpes.fr>2019-05-13 17:27:00 +0200
commit716276ad86ab8f7d969e06b31cb14104d8c4ccf9 (patch)
treea266c982433fd447b9357f43f297724f7e535c8a /test/monniaux/division
parentc785f245a68aab9078c37b729fa916f2feae76f0 (diff)
downloadcompcert-kvx-716276ad86ab8f7d969e06b31cb14104d8c4ccf9.tar.gz
compcert-kvx-716276ad86ab8f7d969e06b31cb14104d8c4ccf9.zip
sum with modulo
Diffstat (limited to 'test/monniaux/division')
-rw-r--r--test/monniaux/division/sum_div.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/test/monniaux/division/sum_div.c b/test/monniaux/division/sum_div.c
new file mode 100644
index 00000000..87256922
--- /dev/null
+++ b/test/monniaux/division/sum_div.c
@@ -0,0 +1,18 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include "../clock.h"
+
+int main(int argc, char **argv) {
+ unsigned modulus = argc < 2 ? 3371 : atoi(argv[1]);
+ clock_prepare();
+ clock_start();
+ unsigned total=0, total_mod=0;
+ for(int i=0; i<1000; i++) {
+ total += i;
+ total_mod = (total_mod + i)%modulus;
+ }
+ clock_stop();
+ print_total_clock();
+ printf("%u %u %d\n", total, total_mod, total%modulus == total_mod);
+ return 0;
+}