Skip to content

Fix nested conditions - #86

Open
Egor18 wants to merge 1 commit into
EdwardRaff:masterfrom
Egor18:fixNestedCondition
Open

Fix nested conditions#86
Egor18 wants to merge 1 commit into
EdwardRaff:masterfrom
Egor18:fixNestedCondition

Conversation

@Egor18

@Egor18 Egor18 commented Dec 28, 2019

Copy link
Copy Markdown
Contributor

Hi!
This code fragment works not the way it is formatted.

if(label[i] == -1)
    if(I0[i] && (i_low == -1 || fcache[i] > fcache[i_low]) )
    {
        i_low = i;
        b_low = fcache[i];
    }
else
    if(I0[i] && (i_low == -1 || fcache[i] > fcache[i_up]) )
    {
        i_up = i;
        b_up = fcache[i];
    }

is actually this (else sticks to the previous if):

if(label[i] == -1)
    if(I0[i] && (i_low == -1 || fcache[i] > fcache[i_low]) )
    {
        i_low = i;
        b_low = fcache[i];
    }
    else if(I0[i] && (i_low == -1 || fcache[i] > fcache[i_up]) )
    {
        i_up = i;
        b_up = fcache[i];
    }

I think this is a bug.
(I found this with the data-flow analyzer I'm working on. It warns that i_low == -1 is always false in the second condition.)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

1 participant