Re: clpfd constraints not taking effect

Markus Triska <[email protected]>
Newsgroups gmane.comp.ai.prolog.swi
Message-ID <[email protected]>
Hi James,

James Hogan <[email protected]> writes:

> Thanks for the patch. I gave it a spin, and tested before and after
> your change, but it appears that although it fixes the simple case, it
> makes my big case (with over 2000 constraints) go much slower (gets
> slower as it goes through the constraints, keeps stopping momentarily
> on a constraint), and then about half way it says:
>
> ERROR: Out of global stack

Please send me your test case, I will try to get the change working in
such situations. I have for now reverted it. Meanwhile, you can enable
full propagation by setting the flag clpfd_propagation to 'full':

   ?- set_prolog_flag(clpfd_propagation, full).
   %@ true.

   ?- B #= C+1, B #< D, C #>= 10, C #>= 100.
   %@ B in 101..sup,
   %@ B#=<D+ -1,
   %@ C+1#=B,
   %@ D in 102..sup,
   %@ C in 100..sup.

This makes propagation and also labeling/2 non-terminating in general!

All the best,
Markus
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.