🌐 AI搜索 & 代理 主页
Skip to content

Commit 2dd1c20

Browse files
committed
Fix mod handling of negative value in TINY
1 parent 44e620d commit 2dd1c20

File tree

1 file changed

+9
-1
lines changed

1 file changed

+9
-1
lines changed

examples/tiny/samples/math_functions.tiny

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,9 @@ int div(int a, int b) {
5555

5656
int mod(int a, int b) {
5757
int quo := a / b;
58-
return a - quo * b;
58+
int ret := a - quo * b;
59+
if ret < 0 then ret := ret + b; end
60+
return ret;
5961
}
6062

6163
float sqrt(float a) {
@@ -176,5 +178,11 @@ int main() {
176178
write exp(0); write endl;
177179
write exp(1); write endl;
178180

181+
i := -5;
182+
repeat
183+
write i; write " "; write mod(i, 3); write endl;
184+
i := i + 1;
185+
until i > 5
186+
179187
return 0;
180188
}

0 commit comments

Comments
 (0)