In fact, going to a fixed size, being it close to 64 bit or even 128 bit is not 
hard, it is just very tedious.

 

One of the biggest mistakes I did when starting Gecode was assuming that 
choosing int as the base datatype for integer variables is a good choice. Of 
course, it is not. One should have chosen an abstract datatype instead so that 
changing to larger types is easy... Now, figuring out which is really an int 
and what ought be the base type for an integer variable would mean sifting 
through 200 KLOC code… Yuck!

 

As said a stupid choice and eerily reminiscent of Bill Gates’ infamous quote 
“640K ought to be enough for anyone”…

 

Cheers

Christian

 

--

Christian Schulte,  <http://www.gecode.org/~schulte> www.gecode.org/~schulte

Professor of Computer Science, KTH,  <mailto:cschu...@kth.se> cschu...@kth.se

Expert Researcher, SICS, cschu...@sics.se

 

From: users-boun...@gecode.org [mailto:users-boun...@gecode.org] On Behalf Of 
Slav
Sent: Wednesday, August 2, 2017 23:26
To: Kish Shen <kish.s...@gmail.com>
Cc: users@gecode.org
Subject: Re: [gecode-users] Arbitrary big numbers?

 

Thank you very much for your thorough explanation.

Having infinite numbers may be a perfectionistic drive, but 2^51 integer limit 
is more than enough for my current problem.

That work you do, guys, with CLP and modeling is beauty in a nutshell. Wish you 
all the best.

 

2017-08-03 0:32 GMT+04:00 Kish Shen <kish.s...@gmail.com 
<mailto:kish.s...@gmail.com> >:

Hi Slav,

 

I guess I should first state that I have been working as a developer for 
ECLiPSe since 1998, and what I say here is personal and from an ECLiPSe 
perspective.

 

>How just an interface can be able to have numbers bigger than underlying 
>library?

 

I am not sure what you mean by 'just an interface', but as the slides in your 
link describe, ECLiPSe is a programming language. It has an interface to 
Gecode, which will allow you to use Gecode in a program written in ECLiPSe, 
with essentially the same syntax as the native finite domain solvers of 
ECLiPSe, such as the interval solver (ic) described in the slides you linked 
to. 

 

ECLiPSe supports big integers if it was built with GMP. However, you can only 
use these integers when you are performing your arithmetic operations in 
ECLiPSe. You cannot use such integers when you are using an external solver 
such as Gecode. In fact, you cannot use big integers even with the native 
finite domain solvers of ECLiPSe

(the intervals in lib(ic) are represented using (C floating point type) double, 
and the integer range is the range of integers that can be precisely 
represented with a double).

.

On a more general point, one of the reasons why ECLiPSe does not support big 
integers even for native finite domain solvers is that in practice, modelling 
finite domain problems with very large ranges is not likely to be an effective 
way of solving such problems. This is our experience with ECLiPSe, I guess 
Christian or other people on this mailing list may have a different view.

 

Cheers,

 

Kish Shen

 

 

On Wed, Aug 2, 2017 at 8:01 PM, Christian Schulte <cschu...@kth.se 
<mailto:cschu...@kth.se> > wrote:

Gecode is but one of the solvers to which Eclipse has an interface. Christian

 

--

Christian Schulte,  <http://www.gecode.org/~schulte> www.gecode.org/~schulte

Professor of Computer Science, KTH,  <mailto:cschu...@kth.se> cschu...@kth.se

Expert Researcher, SICS, cschu...@sics.se <mailto:cschu...@sics.se> 

 

From: Slav [mailto:slav...@gmail.com <mailto:slav...@gmail.com> ] 
Sent: Wednesday, August 2, 2017 19:38
To: cschu...@kth.se <mailto:cschu...@kth.se> 
Cc: users@gecode.org <mailto:users@gecode.org> 
Subject: Re: [gecode-users] Arbitrary big numbers?

 

Thank for your answer :)
If so, I cannot understand that  
<http://gki.informatik.uni-freiburg.de/teaching/ws1415/csp/csp11.pdf> "ECLiPSe 
Integers can be as large as fits into memory, e.g.: 123 0 -27 393423874981724" 
, but Wikipedia says <https://en.wikipedia.org/wiki/ECLiPSe>  that: 

ECLiPSe interfaces to external solvers, in particular the Gecode solver library

How just an interface can be able to have numbers bigger than underlying 
library?

 

2017-08-02 0:24 GMT+04:00 Christian Schulte <cschu...@kth.se 
<mailto:cschu...@kth.se> >:

Hi, unfortunately there is no support for this. We know that this is high on 
the wish list of many but… I think somebody has tried, if I recall correctly, 
though. Guido, do you have any details.

 

Cheers

Christian

 

--

Christian Schulte, www.gecode.org/~schulte <http://www.gecode.org/~schulte> 

Professor of Computer Science, KTH, cschu...@kth.se <mailto:cschu...@kth.se> 

Expert Researcher, SICS, cschu...@sics.se <mailto:cschu...@sics.se> 

 

From: users-boun...@gecode.org <mailto:users-boun...@gecode.org>  
[mailto:users-boun...@gecode.org <mailto:users-boun...@gecode.org> ] On Behalf 
Of Slav
Sent: Tuesday, August 1, 2017 20:23
To: users@gecode.org <mailto:users@gecode.org> 
Subject: [gecode-users] Arbitrary big numbers?

 

Hello. I am modeling algorithm to hardware mapping with Gecode. Standard 
Int::Limits::max is too small because I want to target systems with more than 
2^31 memory.

Is there a way to get use of arbitrary-precision arithmetic with Gecode or at 
least 64-bits integers?

I know that Gecode can be built with MPIR or GMP support, but seems those are 
just for trigonometric operations?

Thanks in advance :)

 

 

_______________________________________________
Gecode users mailing list
users@gecode.org <mailto:users@gecode.org> 
https://www.gecode.org/mailman/listinfo/gecode-users

 


_______________________________________________
Gecode users mailing list
users@gecode.org <mailto:users@gecode.org> 
https://www.gecode.org/mailman/listinfo/gecode-users

 

_______________________________________________
Gecode users mailing list
users@gecode.org
https://www.gecode.org/mailman/listinfo/gecode-users

Reply via email to