From dd2defc2ca4bc038b451c61578516e49874977a2 Mon Sep 17 00:00:00 2001 From: Dan Ballard Date: Mon, 6 Jul 2026 09:34:18 -0700 Subject: [PATCH] lint .c; add wasm target --- Makefile | 2 +- autoTest.pl | 12 +++++++++++- primes.c | 16 ++++++---------- 3 files changed, 18 insertions(+), 12 deletions(-) diff --git a/Makefile b/Makefile index 9bdea9f..cf1e0c6 100644 --- a/Makefile +++ b/Makefile @@ -7,4 +7,4 @@ clean: primes.ali primesada primesfor primese primes.h primes1.c primes1.o primes.id primes.make primescbl link.res \ ppas.sh primes.beam primesocaml primesasm primes.cmi primes.cmx luac.out primeshs primes_clisp.fas primes.lib \ Main.hi primes_clisp.lib primes_clisp.o primes.hi primescsieve gst.im primesalt2c primesalt3c primesgo primesrs \ - primes.jar + primes.jar primes.wasm diff --git a/autoTest.pl b/autoTest.pl index 2bce589..76d47eb 100755 --- a/autoTest.pl +++ b/autoTest.pl @@ -3,6 +3,9 @@ # Run prime number finders # haplo@mindstab.net +use Env; +use Env qw(WASI_SYSROOT); + print "Mindstab Development Multi-language Prime Number Project v1.02\n(www.mindstab.net/tag/primes/)\nhaplo\@mindstab.net\n\n"; # results file @@ -19,7 +22,7 @@ if ($ARGV[0] eq "--debug") { # Uncomment for alternat C algorithms # "c2", "ca", "ca2", "ca3", # Applied some Tiobe 2026 language ordering - "cpp", "objc", "py", "java", "cs", "js", "vb", "r", "pas", "rs", "go", "php", "ada", "for", "pl", + "cpp", "objc", "py", "java", "cs", "js", "wasm", "vb", "r", "pas", "rs", "go", "php", "ada", "for", "pl", "kt", "cbl", "dart", "pro", "lua", "rb", "cl", "oml", "erl", "scala", "hs", "scm", "e", "awk", "tcl", "st", "sml", "4th", "m3", "pike", "rexx", "fe", "5c", "m4", "sh"); @@ -107,6 +110,13 @@ $data{'js'}{'name'} = "Javascript (nodejs)"; $data{'js'}{'prog'} = 'primes.js'; $data{'js'}{'interp0'} = 'nodejs'; +$data{'wasm'}{'name'} = "Web Assembly (\$WASI_SYSROOT env var required)"; +$data{'wasm'}{'src'} = 'primes.c'; +$data{'wasm'}{'compiler0'} = "clang"; +$data{'wasm'}{'cflags0'} = "-target wasm32-wasip1 --sysroot=$WASI_SYSROOT -nodefaultlibs -lc -lm -o primes.wasm "; +$data{'wasm'}{'prog'} = 'primes.wasm'; +$data{'wasm'}{'interp0'} = 'wasmtime'; + $data{'pas'}{'name'} = "Pascal"; $data{'pas'}{'src'} = "primes.pas"; $data{'pas'}{'compiler0'} = "fpc"; diff --git a/primes.c b/primes.c index 951c5b0..889baeb 100644 --- a/primes.c +++ b/primes.c @@ -5,37 +5,33 @@ #include #include -int main(int argc, char ** argv) -{ +int main(int argc, char ** argv) { unsigned int counter, max_test, tester; char isPrime; unsigned int MAX_NUM; - if(argc < 2) { + if (argc < 2) { printf("primesc \n"); return 1; } else { MAX_NUM = atoi(argv[1]); } - if(MAX_NUM < 1) - { + if (MAX_NUM < 1) { printf("Invalid MAX_NUM specified\n"); return 1; } - for(counter =3; counter<= MAX_NUM; counter +=2) - { + for (counter =3; counter<= MAX_NUM; counter +=2) { max_test = (int) sqrt((double) counter); isPrime = 1; - for(tester =3; tester <= max_test; tester += 2) - { + for (tester =3; tester <= max_test; tester += 2) { if(! (counter % tester)) { isPrime = 0; break; } } - if(isPrime) printf("%d\n", counter); + if (isPrime) printf("%d\n", counter); } return 0; }