Hello,
in my setup i start with multiple expressions but only treat one at a time by hiding the respective others, see the attached script. Using Moduleoption inparallel; in this case does not make sense anyways since i only want to handle one active expression at a time, but anyways, in this script it corrupts the results without warning. Since the tmpc are not altered during the loop the final print+s should look like
tmpc1 = c1;
tmpc2 = c2;
tmpc3 = c3;
but instead gives
tmpc1 = c2;
tmpc2 = c2;
tmpc3 = c2;
when calling the program with tform -w2. With normal form the statement Moduleoption inparallel; does nothing and the result is what is expected.
#-
off statistics;
auto s c;
#define NUMCOUPS "3"
#do i=1,`NUMCOUPS'
Local tmpc`i' = c`i';
#enddo
Print+s;
.sort
Hide;
#do cloop=1,`NUMCOUPS'
#if `cloop' == 1
NHide tmpc`cloop';
#else
UnHide tmpc`cloop';
#endif
.sort
ModuleOption inparallel;
Print+s;
.sort
Hide tmpc`cloop';
#enddo
.sort
Unhide;
Print+s;
.end
Hello,
in my setup i start with multiple expressions but only treat one at a time by hiding the respective others, see the attached script. Using Moduleoption inparallel; in this case does not make sense anyways since i only want to handle one active expression at a time, but anyways, in this script it corrupts the results without warning. Since the tmpc are not altered during the loop the final print+s should look like
tmpc1 = c1;
tmpc2 = c2;
tmpc3 = c3;
but instead gives
tmpc1 = c2;
tmpc2 = c2;
tmpc3 = c2;
when calling the program with tform -w2. With normal form the statement Moduleoption inparallel; does nothing and the result is what is expected.