[gecode-users] Unsigned Int Constraint Variables

negate273 at gmail.com negate273 at gmail.com
Fri Apr 4 09:10:41 CEST 2014


Is there any way we can make the integer variable an int64_t (type long on a 64bit machine)  - 8 byte data type instead of the the 4-byte that it is currently. If not, are there any alternatives for constraint variables that may take values > 0x7FFF_FFFF ? 

Thanks 
~az

> No, that will not work at all. Most constraints assume signedness of integer
> variables and there are many datatypes that directly depend on the choice of
> the type for integer variables.
> 
> So, unfortunately, there is no easy way.
> 
> Cheers
> Christian
> 
> --
> Christian Schulte, Professor of Computer Science, KTH,
> www.ict.kth.se/~cschulte/
> 
>> -----Original Message-----
>> From: users-bounces at gecode.org [mailto:users-bounces at gecode.org] On Behalf Of  negate273 at gmail.com
>> Sent: Friday, April 04, 2014 8:42 AM
>> To: users at gecode.org
>> Subject: [gecode-users] Unsigned Int Constraint Variables
>> Hi, 
>> 
>> Is there anyway by which the bounds of an integer constraint variable be set to 0..2**32-1 (0xFFFF_FFFF) instead of the bounds for a signed integer (-0x7FFF_FFFF, 0x7FFF_FFFF) ? 
>> 
>> I tried recompiling gecod by setting 
>>    - gecode/int.hh Gecode::Int::Limits.max to UINT_MAX -1  (original INT_MAX-1)
>>    - gecode/int.hh Gecode::Int::Limits.min to 0  (original -max) 
>>    - gecode/support/int-type.hpp IntTypeTraits<signed int> min = 0 (originally INT_MIN)
>>    - gecode/support/int-type.hpp IntTypeTraits<signed int> max = UNIT_MAX-1 (originally INT_MAX)
>> but these do not help, in recognizing variables that may have values > 2**31. 
>> 
>> Any pointers ? 
>> 
>> Thanks
>> ~az
> 



More information about the users mailing list