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

Reply via email to