Opened 11 years ago

Last modified 7 years ago

#2306 new defect

Assignments using functions with multiple outputs

Reported by: joafa554 Owned by: somebody
Priority: high Milestone: Future
Component: Command Prompt Environment Version: trunk
Keywords: Cc: Vitalij Ruge

Description

function multRetFn
    output Integer a := 5;
    output Integer b := 10;
    output Integer c := 15;
end multRetFn;

>> (v1, v2, v3) := multRetFn() //works
>> (v1, v2) := multRetFn() //doesn't work (variables not set)
>> (v1, , v3) := multRetFn() //doesn't work (error)
>> v1 := multRetFn() //doesn't work (variable not set)

Strangely enough, using the first value directly works some of the time (see ticket 2242)

>> multRetFn() / 2
2.5

Change History (12)

comment:1 by Martin Sjölund, 11 years ago

Component: BackendCommand Prompt Environment
Owner: changed from probably noone to somebody

comment:2 by Lennart Ochel, 11 years ago

Cc: Vitalij Ruge added

This is not really a command prompt environment issue, or is it?

model foo
  Integer a, b, c;
  //Integer d, e;
  Integer f, g;
  Integer h, i;
  //Integer j;
  Integer k;
  Integer l, m;
equation
  (a, b, c) = multRetFn();
  
  // Error: Failed to instantiate equation (d, e) = multRetFn();
  // Error: Error occurred while flattening model foo
  // (d, e) = multRetFn();
    
  (f, , g) = multRetFn();
  (, h, i) = multRetFn();
    
  // Error: Failed to instantiate equation (j, _) = multRetFn();
  // Error: Error occurred while flattening model foo
  // (j, , ) = multRetFn();
      
  k = multRetFn();
  (, l, m) = multRetFn();
end foo;

message:

Error: Too many equations, over-determined system. The model has 13 equation(s) 
and 10 variable(s).

comment:3 by Martin Sjölund, 11 years ago

The way the ticket text is described suggests OMShell commands (>>). Might be related to backend as well in some places, but that's beside the point :)
OMShell (as far as I remember), does not support assigning to tuples.

comment:4 by Martin Sjölund, 11 years ago

Milestone: 1.9.01.9.1

Postponed until 1.9.1

comment:5 by Martin Sjölund, 10 years ago

Milestone: 1.9.11.9.2

This ticket was not closed for 1.9.1, which has now been released. It was batch modified for milestone 1.9.2 (but maybe an empty milestone was more appropriate; feel free to change it).

comment:6 by Martin Sjölund, 10 years ago

Milestone: 1.9.21.9.3

Milestone changed to 1.9.3 since 1.9.2 was released.

comment:7 by Martin Sjölund, 9 years ago

Milestone: 1.9.31.9.4

Moved to new milestone 1.9.4

comment:8 by Martin Sjölund, 9 years ago

Milestone: 1.9.41.9.5

Milestone pushed to 1.9.5

comment:9 by Martin Sjölund, 9 years ago

Milestone: 1.9.51.10.0

Milestone renamed

comment:10 by Martin Sjölund, 8 years ago

Milestone: 1.10.01.11.0

Ticket retargeted after milestone closed

comment:11 by Martin Sjölund, 8 years ago

Milestone: 1.11.01.12.0

Milestone moved to 1.12.0 due to 1.11.0 already being released.

comment:12 by Francesco Casella, 7 years ago

Milestone: 1.12.0Future

The milestone of this ticket has been reassigned to "Future".

If you think the issue is still valid and relevant for you, please select milestone 1.13.0 for back-end, code generation and run-time issues, or 2.0.0 for front-end issues.

If you are aware that the problem is no longer present, please select the milestone corresponding to the version of OMC you used to check that, and set the status to "worksforme".

In both cases, a short informative comment would be welcome.

Note: See TracTickets for help on using tickets.