Hey,
i have recently imigrated to gecode 2.0 and i foud the following problem:
There is no refied version for the function :
void Gecode::linear     (       Space *          home,
                const IntArgs &         a,
                const BoolVarArgs &     x,
                IntRelType      r,
                int     y,
                IntConLevel     icl = ICL_DEF,
                PropKind        pk = PK_DEF
        )
or:
void Gecode::linear     (       Space *          home,
                const IntArgs &         a,
                const BoolVarArgs &     x,
                IntRelType      r,
                IntVar          y,
                IntConLevel     icl = ICL_DEF,
                PropKind        pk = PK_DEF
        )
While thie problem is not exited for the version of this function that
deals with IntVar because the function :
void Gecode::linear     (       Space *          home,
                const IntArgs &         a,
                const IntVarArgs &      x,
                IntRelType      r,
                int     y,
                BoolVar         b,
                IntConLevel     icl = ICL_DEF,
                PropKind        pk = PK_DEF
        )
is already exited.
So if my variables are BoolVarArgs the only way to deal with this is to
convert to IntVar (and the assignment"=" is not available) so the only way
to do it is to use the following trick:
//
BoolVarArgs convertToIntVar(1);
convertToIntVar[0]=BoolVarToConvert;
linear(this, convertToIntVar, IRT_EQ,IntVarToBeConverted);
//
So is it possible to add refied version of the
void Gecode::linear(Space *,const IntArgs & ,const BoolVarArgs &
,IntRelType,int ,IntConLevel icl = ICL_DEF,PropKind pk = PK_DEF)

Best regards.

Mohamad Rabbath


_______________________________________________
Gecode users mailing list
[EMAIL PROTECTED]
https://www.gecode.org/mailman/listinfo/gecode-users

Reply via email to