aboutsummaryrefslogtreecommitdiff
path: root/std
diff options
context:
space:
mode:
authornic-gaffney <gaffney_nic@protonmail.com>2023-06-27 03:19:39 -0500
committernic-gaffney <gaffney_nic@protonmail.com>2023-06-27 03:19:39 -0500
commit5d958f8af1646f9cb4763bb2f020bb2e6de8a3c0 (patch)
tree32321069ed7dd49c567b53a13dfbb07e1e95f88b /std
parent9f7f0f925f9304ac46499caf0fef245083a78828 (diff)
downloadsloth-5d958f8af1646f9cb4763bb2f020bb2e6de8a3c0.tar.gz
help
Diffstat (limited to 'std')
-rw-r--r--std/stdio.c4
-rw-r--r--std/stdlib.c9
-rw-r--r--std/stdlib.sloth11
-rw-r--r--std/stdmath.c6
4 files changed, 19 insertions, 11 deletions
diff --git a/std/stdio.c b/std/stdio.c
index 1a4d98c..a257f67 100644
--- a/std/stdio.c
+++ b/std/stdio.c
@@ -10,3 +10,7 @@ char* readln() {
void print(char *str) {
fputs(str, stdout);
}
+
+void termpos(int x, int y) {
+ printf("\x1b[%d;%dH", x, y);
+}
diff --git a/std/stdlib.c b/std/stdlib.c
index f405b6f..9510866 100644
--- a/std/stdlib.c
+++ b/std/stdlib.c
@@ -17,3 +17,12 @@ char charAt(char *str, int x) {
int parse_int(char *str) {
return (int) atoi(str);
}
+
+int as_int(float x) {
+ return (int) x;
+}
+
+char* istr(int x) {
+ char snum[100];
+ return (char* )itoa(x, snum, 10);
+}
diff --git a/std/stdlib.sloth b/std/stdlib.sloth
index e15d4dc..913fd0b 100644
--- a/std/stdlib.sloth
+++ b/std/stdlib.sloth
@@ -3,14 +3,9 @@ foreign fn print(str: String) Void;
foreign fn slen(str: String) Int;
# foreign fn charAt(str: String) Char;
foreign fn parse_int(str: String) Int;
-
-fn termpos(x: Int, y: Int) Void {
- print("\x1b[");
- print(x);
- print(";");
- print(y);
- print("H");
-}
+foreign fn termpos(x: Int, y: Int);
+foreign fn as_int(x: Float) Int;
+foreign fn istr(x: Int) Int;
fn termclear() Void {
print("\x1b[2J\x1b[H");
diff --git a/std/stdmath.c b/std/stdmath.c
index f7f79c6..a650129 100644
--- a/std/stdmath.c
+++ b/std/stdmath.c
@@ -2,12 +2,12 @@
#include <stdlib.h>
#include <time.h>
-bool random_setup = false;
+int random_setup = 0;
int randGen(int min, int max) {
- if random_setup == false {
+ if (random_setup == 0) {
srandom(time(NULL));
- random_setup = true;
+ random_setup = 1;
}
return random() % (max - min + 1) + min;
}