🐐 VSQVE change

This commit is contained in:
2026-04-21 22:35:22 +02:00
parent 5961884219
commit 559b1b100e
9 changed files with 62 additions and 47 deletions

View File

@@ -280,7 +280,7 @@ class DataRangeArray(Node):
raise CentvrionError("Range bounds must be numbers")
from_int = from_val.value() or 0
to_int = to_val.value() or 0
return vtable, ValList([ValInt(i) for i in range(from_int, to_int)])
return vtable, ValList([ValInt(i) for i in range(from_int, to_int + 1)])
class DataDict(Node):

View File

@@ -135,10 +135,10 @@ def emit_expr(node, ctx):
hi_lines, hi_var = emit_expr(node.to_value, ctx)
tmp = ctx.fresh_tmp()
i_var = ctx.fresh_tmp()
cap = f"({hi_var}.ival > {lo_var}.ival ? (int)({hi_var}.ival - {lo_var}.ival) : 0)"
cap = f"({hi_var}.ival >= {lo_var}.ival ? (int)({hi_var}.ival - {lo_var}.ival + 1) : 0)"
lines = lo_lines + hi_lines + [
f"CentValue {tmp} = cent_list_new({cap});",
f"for (long {i_var} = {lo_var}.ival; {i_var} < {hi_var}.ival; {i_var}++) {{",
f"for (long {i_var} = {lo_var}.ival; {i_var} <= {hi_var}.ival; {i_var}++) {{",
f" cent_list_push(&{tmp}, cent_int({i_var}));",
"}",
]