lint .c; add wasm target
This commit is contained in:
parent
354ed22c9a
commit
dd2defc2ca
2
Makefile
2
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
|
||||
|
|
|
|||
12
autoTest.pl
12
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";
|
||||
|
|
|
|||
16
primes.c
16
primes.c
|
|
@ -5,37 +5,33 @@
|
|||
#include <stdio.h>
|
||||
#include <math.h>
|
||||
|
||||
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 <MAX NUM>\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;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue