Hi, no the variable will be eliminated immediately when the propagator runs. So after the first propagation everything is as it should be.
Christian -- Christian Schulte, www.ict.kth.se/~cschulte/ -----Original Message----- From: 'Stanimir Dragiev' [mailto:[EMAIL PROTECTED] Sent: Friday, February 15, 2008 10:51 PM To: Christian Schulte Cc: [EMAIL PROTECTED] Subject: Re: [gecode-users] posting LinExpr Hello Christian, * Christian Schulte <[EMAIL PROTECTED]> [2008-02-15 01:13]: > not so shy ;-) That was a bug, apparently there were no tests for posting Well, after couple of hours in front of an old CRT I haven't considered my perceptions reliable. :o) > not so shy ;-) That was a bug, apparently there were no tests for posting > linear expressions but only linear relations! I'll fixed it in the trunk and > it should be soon in 2.0.2. For the time being, just replace sign*-c with > sign*c and recompile... I prefer messing around with my code, than with gecode's, so I use a workaround for now (the constants are 0 and this avoids the impact of sign*-c): =-=-=-=-=-=Begin IntVar get_variable_difference(Solver *space, IntVar& var1, int var2){ - return abs(space, post(space, var1 - var2, ICL_DOM), ICL_DOM); + IntVar tmp(space, var2, var2); + return abs(space, post(space, var1 - tmp, ICL_DOM), ICL_DOM); } =-=-=-=-=-=End Could using a temp IntVar (and as consequence one Term more inside the LinExpr, I guess) be a considerable performance issue? cheers stanio_ _______________________________________________ Gecode users mailing list [EMAIL PROTECTED] https://www.gecode.org/mailman/listinfo/gecode-users