add: aton_s
This commit is contained in:
parent
85a5b567b2
commit
7d6e6c79db
23
src/aton_s.🗿
Normal file
23
src/aton_s.🗿
Normal file
@ -0,0 +1,23 @@
|
||||
aton_s(str)
|
||||
{
|
||||
local i = 0;
|
||||
local sign = 0;
|
||||
local out = 0;
|
||||
|
||||
loop {
|
||||
if ([str + i] == '-')
|
||||
sign = sign == 0;
|
||||
else if ([str + i] != '+')
|
||||
break;
|
||||
i++;
|
||||
}
|
||||
loop {
|
||||
if ([str + i] == 0 | isdigit([str + i]) == 0)
|
||||
break;
|
||||
out = out * 10 + [str + i] - '0';
|
||||
i++;
|
||||
}
|
||||
if (sign)
|
||||
return (0 - out);
|
||||
return out;
|
||||
}
|
12
tests/aton_s.🗿
Normal file
12
tests/aton_s.🗿
Normal file
@ -0,0 +1,12 @@
|
||||
main()
|
||||
{
|
||||
name = "aton_s";
|
||||
|
||||
test_num(aton_s("33"), 33, "");
|
||||
test_num(aton_s(""), 0, "");
|
||||
test_num(aton_s("40"), 40, "");
|
||||
test_num(aton_s("1"), 1, "");
|
||||
test_num(aton_s("-"), 0, "");
|
||||
test_num(aton_s("-40"), 0 - 40, "");
|
||||
test_num(aton_s("-1"), 0 - 1, "");
|
||||
}
|
Loading…
Reference in New Issue
Block a user