Re: clpfd constraints not taking effect
James Hogan <[email protected]>
| Newsgroups | gmane.comp.ai.prolog.swi |
|---|---|
| Message-ID | <CAAG0J9_FBLBjU+cC4LJLR-3hqbHy1JqhnTap=gxdOgc6LAtxow@mail.gmail.com> |
On 19 August 2013 20:24, Markus Triska <[email protected]> wrote: > 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! Thanks, I need to get my latest changes cleaned up and pushed to github anyway, so I'll let you know when I have and how to reproduce. For the record it's this: https://github.com/amalon/chron processing the data in: https://github.com/amalon/chron-bible Cheers -- James Hogan