diff --git a/Makefile b/Makefile index cd0a490..607ce20 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,5 @@ -files = add div mean mod mul sub sum +#TODO: find way of installing shell library with make +files = mean sum all: $(files) diff --git a/add.c b/add.c deleted file mode 100644 index 4815fb2..0000000 --- a/add.c +++ /dev/null @@ -1,25 +0,0 @@ -#include -#ifndef eprintf -#define eprintf(...) fprintf(stderr, __VA_ARGS__) -#endif - -int main(int argc, char **argv) { - int v1; - int v2; - int out; - int e1; - int e2; - - e1 = sscanf(argv[1], "%i", &v1); - e2 = sscanf(argv[2], "%i", &v2); - if(e1==EOF) { - eprintf("%s: argument 1 cannot be parsed as int", *argv); - return 1; - } else if(e2==EOF) { - eprintf("%s: argument 2 cannot be parsed as int", *argv); - return 1; - } - out=v1+v2; - printf("%d\n",out); - return 0; -} diff --git a/div.c b/div.c deleted file mode 100644 index bb279fe..0000000 --- a/div.c +++ /dev/null @@ -1,25 +0,0 @@ -#include -#ifndef eprintf -#define eprintf(...) fprintf(stderr, __VA_ARGS__) -#endif - -int main(int argc, char **argv) { - int v1; - int v2; - int out; - int e1; - int e2; - - e1 = sscanf(argv[1], "%i", &v1); - e2 = sscanf(argv[2], "%i", &v2); - if(e1==EOF) { - eprintf("%s: argument 1 cannot be parsed as int", *argv); - return 1; - } else if(e2==EOF) { - eprintf("%s: argument 2 cannot be parsed as int", *argv); - return 1; - } - out=v1/v2; - printf("%d\n",out); - return 0; -} diff --git a/mod.c b/mod.c deleted file mode 100644 index 56a9434..0000000 --- a/mod.c +++ /dev/null @@ -1,25 +0,0 @@ -#include -#ifndef eprintf -#define eprintf(...) fprintf(stderr, __VA_ARGS__) -#endif - -int main(int argc, char **argv) { - int v1; - int v2; - int out; - int e1; - int e2; - - e1 = sscanf(argv[1], "%i", &v1); - e2 = sscanf(argv[2], "%i", &v2); - if(e1==EOF) { - eprintf("%s: argument 1 cannot be parsed as int", *argv); - return 1; - } else if(e2==EOF) { - eprintf("%s: argument 2 cannot be parsed as int", *argv); - return 1; - } - out=v1%v2; - printf("%d\n",out); - return 0; -} diff --git a/mul.c b/mul.c deleted file mode 100644 index b16bbf8..0000000 --- a/mul.c +++ /dev/null @@ -1,25 +0,0 @@ -#include -#ifndef eprintf -#define eprintf(...) fprintf(stderr, __VA_ARGS__) -#endif - -int main(int argc, char **argv) { - int v1; - int v2; - int out; - int e1; - int e2; - - e1 = sscanf(argv[1], "%i", &v1); - e2 = sscanf(argv[2], "%i", &v2); - if(e1==EOF) { - eprintf("%s: argument 1 cannot be parsed as int", *argv); - return 1; - } else if(e2==EOF) { - eprintf("%s: argument 2 cannot be parsed as int", *argv); - return 1; - } - out=v1*v2; - printf("%d\n",out); - return 0; -} diff --git a/shellmath.sh b/shellmath.sh new file mode 100644 index 0000000..2c3aa2f --- /dev/null +++ b/shellmath.sh @@ -0,0 +1,10 @@ +# Shellmath v2 +# Works in most bourne-type shells. +# Partially reimplemented in shell script due to less overhead. + +function add { echo $(($1+$2)); } +function sub { echo $(($1-$2)); } +function mul { echo $(($1*$2)); } +function div { echo $(($1/$2)); } +function mdl { echo $(($1%$2)); } +function randr { echo $(($1+$RANDOM%$2)); } diff --git a/sub.c b/sub.c deleted file mode 100644 index 02ba651..0000000 --- a/sub.c +++ /dev/null @@ -1,25 +0,0 @@ -#include -#ifndef eprintf -#define eprintf(...) fprintf(stderr, __VA_ARGS__) -#endif - -int main(int argc, char **argv) { - int v1; - int v2; - int out; - int e1; - int e2; - - e1 = sscanf(argv[1], "%i", &v1); - e2 = sscanf(argv[2], "%i", &v2); - if(e1==EOF) { - eprintf("%s: argument 1 cannot be parsed as int", *argv); - return 1; - } else if(e2==EOF) { - eprintf("%s: argument 2 cannot be parsed as int", *argv); - return 1; - } - out=v1-v2; - printf("%d\n",out); - return 0; -}