﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc
2104	Algebraic expressions in when conditions not parsed correctly	jwharington@…	Willi Braun	"Depending on the order of the conditional expression, when conditions don't function correctly in all cases.

Example code:

{{{
class bugtime
  discrete Real timeAtActivation;
  Boolean next;

  algorithm

    // this works
    when (time>0.1) then
      timeAtActivation := time;
      next := true;
    end when;

    // this works
    when next and (time>0.1+timeAtActivation) then
      print(""time>0.1+timeAtActivation"");
    end when;

    // this doesnt work
    when next and (time-timeAtActivation>0.2) then
      print(""when time-timeAtActivation>0.2"");
    end when;

    // this one does work
    if next and (time-timeAtActivation>0.3) then
      print(""if time-timeAtActivation>0.3"");
      next:= false;
    end if;

  annotation( experiment( StopTime=2, method='euler' ) );

end bugtime;
}}}
"	defect	closed	high	1.9.1	Backend	trunk	fixed		Jens Frenkel Willi Braun Lennart Ochel
