core: all int is now num

This commit is contained in:
starnakin 2023-06-18 20:03:27 +02:00
parent 1b878db8fe
commit 85a5b567b2
8 changed files with 31 additions and 27 deletions

View File

@ -1,13 +1,10 @@
atoi(str)
aton(str)
{
local i = 0;
local sign = 0;
local out = 0;
loop {
if ([str + i] == '-')
sign = sign == 0;
else if ([str + i] != '+')
if ([str + i] != '+')
break;
i++;
}
@ -17,7 +14,5 @@ atoi(str)
out = out * 10 + [str + i] - '0';
i++;
}
if (sign)
return (0 - out);
return out;
}

9
tests/aton.🗿 Normal file
View File

@ -0,0 +1,9 @@
main()
{
name = "aton";
test_num(aton("33"), 33, "");
test_num(aton(""), 0, "");
test_num(aton("40"), 40, "");
test_num(aton("1"), 1, "");
}

View File

@ -7,13 +7,13 @@ main()
name = "galloc";
ptr1 = galloc(1);
test_int(ptr1, heap + LOCATION_DATA, "");
test_num(ptr1, heap + LOCATION_DATA, "");
free(ptr1);
ptr1 = galloc(1);
test_int(ptr1, heap + LOCATION_DATA, "alloc after free");
test_num(ptr1, heap + LOCATION_DATA, "alloc after free");
free(ptr1);
ptr2 = galloc(0x9000);
test_int(ptr2, 0, "alloc too big");
test_num(ptr2, 0, "alloc too big");
}

View File

@ -2,7 +2,7 @@ main()
{
name = "strchri";
test_int(strchri("bozoman", 'm'), 4, "");
test_int(strchri("bozoman", 'v'), 0 - 1, "");
test_int(strchri("", 'v'), 0 - 1, "");
test_num(strchri("bozoman", 'm'), 4, "");
test_num(strchri("bozoman", 'v'), 0 - 1, "");
test_num(strchri("", 'v'), 0 - 1, "");
}

View File

@ -2,8 +2,8 @@ main()
{
name = "strcmp";
test_int(strcmp("test", "test"), 0, "same chars");
test_int(strcmp("s", "b"), 17, "");
test_int(strcmp("", ""), 0, "empty strings");
test_int(strcmp("", "a"), 65439, "");
test_num(strcmp("test", "test"), 0, "same chars");
test_num(strcmp("s", "b"), 17, "");
test_num(strcmp("", ""), 0, "empty strings");
test_num(strcmp("", "a"), 65439, "");
}

View File

@ -2,6 +2,6 @@ main()
{
name = "strlen";
test_int(strlen("bozoman du 36"), 13, "");
test_int(strlen(""), 0, "Empty string");
test_num(strlen("bozoman du 36"), 13, "");
test_num(strlen(""), 0, "Empty string");
}

View File

@ -2,11 +2,11 @@ main()
{
name = "strncmp";
test_int(strncmp("test", "test", 4), 0, "same chars");
test_int(strncmp("s", "b", 4), 17, "");
test_int(strncmp("", "", 4), 0, "empty strings");
test_int(strncmp("", "a", 0), 0, "");
test_int(strncmp("ab", "ac", 1), 0, "");
test_int(strncmp("aq", "a", 1), 0, "");
test_int(strncmp("aq", "a", 2), 113, "");
test_num(strncmp("test", "test", 4), 0, "same chars");
test_num(strncmp("s", "b", 4), 17, "");
test_num(strncmp("", "", 4), 0, "empty strings");
test_num(strncmp("", "a", 0), 0, "");
test_num(strncmp("ab", "ac", 1), 0, "");
test_num(strncmp("aq", "a", 1), 0, "");
test_num(strncmp("aq", "a", 2), 113, "");
}

View File

@ -22,7 +22,7 @@ test_str(value, reach_value, description)
wrt '\n';
}
test_int(value, reach_value, description)
test_num(value, reach_value, description)
{
putstr(name);
if (value != reach_value)