Skip to content

[bug] Доработка целочисленной арифметики #232

@Stepami

Description

@Stepami

Describe the bug

В рантайме результат арифметических операций кастуется к double. Смотри Simple::GetBinaryResult

Из-за этого условия работают некорректно. Например, в примере ниже условие в цикле не сработает

To Reproduce

let i = 0
const s = "abcdef"
const sLen = ~s
while (i < sLen) {
    if (i + 1 == sLen)
        >>> "i is 5"
    i = i + 1
}

Expected behavior

Программа выводит i is 5

Desktop

  • OS: win 10
  • Platform: x64
  • Version: 2.6.1

Additional context

Если инвертировать условие через вычитание, то программа отработает корректно

let i = 0
const s = "abcdef"
const sLen = ~s
while (i < sLen) {
    if (i == sLen - 1)
        >>> "i is 5"
    i = i + 1
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    BackEndWorking on backend of the interpreterBugSomething isn't working

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions