Opened 9 years ago

Last modified 9 years ago

#3473 closed defect

Conditional arrays don't work — at Initial Version

Reported by: Maksimov Doe Owned by: somebody
Priority: high Milestone: 1.9.4
Component: Frontend Version:
Keywords: Cc:

Description

package My

  connector InConn = input Real;
  connector OutConn = output Real;

  block Foo
    parameter Boolean enabled = false;
    InConn x if enabled;
  end Foo;

  block Src
    OutConn x = time;
  end Src;

  model Ex
    Foo[2] foo(enabled = {true, false});
    Src src;
    Src src1;
  equation
    connect(src.x, foo[1].x);
    connect(src1.x, foo[2].x);
  end Ex;

end My;

For the model My.Ex I have got flattened output:

class My.Ex
  parameter Boolean foo[1].enabled = true;
  Real foo[1].x;
  parameter Boolean foo[2].enabled = false;
  Real src.x = time;
  Real src1.x = time;
equation
  foo[1].x = src.x;
  foo[2].x = src1.x;
end My.Ex;

You can see that although foo[2].enabled is false and foo[2].x is deleted, equation 'connect(src1.x, foo[2].x)' has remained in equations set.

Change History (0)

Note: See TracTickets for help on using tickets.