various optimisations

This commit is contained in:
kdx
2023-07-25 05:43:10 +02:00
parent 575ed7aa64
commit 1452a70b85
18 changed files with 58 additions and 61 deletions

View File

@ -1,23 +1,19 @@
aton_s(str)
{
local i = 0;
local sign = 0;
local out = 0;
loop {
if ([str + i] == '-')
if ([str] == '-')
sign = sign == 0;
else if ([str + i] != '+')
else if ([str] != '+')
break;
i++;
str++;
}
loop {
if ([str + i] == 0 | isdigit([str + i]) == 0)
break;
out = out * 10 + [str + i] - '0';
i++;
if ([str] == 0 | isdigit([str]) == 0)
return (sign * (0 - out)) | ((sign == 0) * out);
out = out * 10 + [str] - '0';
str++;
}
if (sign)
return (0 - out);
return out;
}