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 \
|
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 \
|
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 \
|
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
|
# Run prime number finders
|
||||||
# haplo@mindstab.net
|
# 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";
|
print "Mindstab Development Multi-language Prime Number Project v1.02\n(www.mindstab.net/tag/primes/)\nhaplo\@mindstab.net\n\n";
|
||||||
|
|
||||||
# results file
|
# results file
|
||||||
|
|
@ -19,7 +22,7 @@ if ($ARGV[0] eq "--debug") {
|
||||||
# Uncomment for alternat C algorithms
|
# Uncomment for alternat C algorithms
|
||||||
# "c2", "ca", "ca2", "ca3",
|
# "c2", "ca", "ca2", "ca3",
|
||||||
# Applied some Tiobe 2026 language ordering
|
# 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",
|
"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");
|
"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'}{'prog'} = 'primes.js';
|
||||||
$data{'js'}{'interp0'} = 'nodejs';
|
$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'}{'name'} = "Pascal";
|
||||||
$data{'pas'}{'src'} = "primes.pas";
|
$data{'pas'}{'src'} = "primes.pas";
|
||||||
$data{'pas'}{'compiler0'} = "fpc";
|
$data{'pas'}{'compiler0'} = "fpc";
|
||||||
|
|
|
||||||
16
primes.c
16
primes.c
|
|
@ -5,37 +5,33 @@
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <math.h>
|
#include <math.h>
|
||||||
|
|
||||||
int main(int argc, char ** argv)
|
int main(int argc, char ** argv) {
|
||||||
{
|
|
||||||
unsigned int counter, max_test, tester;
|
unsigned int counter, max_test, tester;
|
||||||
char isPrime;
|
char isPrime;
|
||||||
unsigned int MAX_NUM;
|
unsigned int MAX_NUM;
|
||||||
|
|
||||||
if(argc < 2) {
|
if (argc < 2) {
|
||||||
printf("primesc <MAX NUM>\n");
|
printf("primesc <MAX NUM>\n");
|
||||||
return 1;
|
return 1;
|
||||||
} else {
|
} else {
|
||||||
MAX_NUM = atoi(argv[1]);
|
MAX_NUM = atoi(argv[1]);
|
||||||
}
|
}
|
||||||
if(MAX_NUM < 1)
|
if (MAX_NUM < 1) {
|
||||||
{
|
|
||||||
printf("Invalid MAX_NUM specified\n");
|
printf("Invalid MAX_NUM specified\n");
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
for(counter =3; counter<= MAX_NUM; counter +=2)
|
for (counter =3; counter<= MAX_NUM; counter +=2) {
|
||||||
{
|
|
||||||
max_test = (int) sqrt((double) counter);
|
max_test = (int) sqrt((double) counter);
|
||||||
isPrime = 1;
|
isPrime = 1;
|
||||||
|
|
||||||
for(tester =3; tester <= max_test; tester += 2)
|
for (tester =3; tester <= max_test; tester += 2) {
|
||||||
{
|
|
||||||
if(! (counter % tester)) {
|
if(! (counter % tester)) {
|
||||||
isPrime = 0;
|
isPrime = 0;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(isPrime) printf("%d\n", counter);
|
if (isPrime) printf("%d\n", counter);
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue