[PPL-devel] PPL info - bug report?

Roberto Bagnara bagnara at cs.unipr.it
Tue Nov 23 19:37:58 CET 2004


Jacopo Mantovani wrote:
> Qualche giorno fa ho scaricato e installato l'ultima (0.6.1) versione 
> della PPL,
> e sto facendo qualche esperimento usando la sua interfaccia verso 
> Sicstus Prolog.
> In particolare sono interessato agli operatori di rimozione di dimensioni:
> 
> 1) ppl_Polyhedron_remove_higher_dimensions/2
> 2) ppl_Polyhedron_remove_dimensions/2
> 
> Tutto bene con il primo, meno con il secondo, che sembra non eliminare 
> la variabile voluta
> e che mantiene quindi la dimensione del poliedro originale.
> 
> Puo' darsi che mi sbagli, ma per prudenza ho pensato di mandarvi questa 
> mail e di allegare
> anche un piccolo programma cosicche' possiate riprodurre il mio 
> 'esperimento'.
> L'output del programma allegato segue in fondo a questa mail. Spero 
> possiate
> verificare se sia io a scrivere codice sbagliato o se non vi sia qualche 
> sorta di bug
> nell'API verso Sicstus.
> 
> [...]
> 
> -- Using ppl_Polyhedron_remove_dimensions --
> 
> Constraints before: [1*A>=0,1*B>=0,-1*B>= -2,-1*A>= -2]
> Generators before: [point(2*A+2*B),point(2*A),point(2*B),point(0)]
> Dimension before: 2
> Constraints after: [1*A>=0,1*B>=0,-1*B>= -2,-1*A>= -2]
> Generators after: [point(2*A+2*B),point(2*A),point(2*B),point(0)]
> Dimension after: 2
 > yes
 > % source_info
 > | ?-

Dear Jacopo,

I reply to you in English because this is the official language
of the list (in this particular case this is especially important
because the main maintainer of the Prolog interface is Pat Hill).

I have tried to reproduce the problem you observe, but I could not.
I am using SICStus 3.11.1 because that is the only version I have
at the moment, and the release 0.6.1 of the PPL: the same you use.
Below the signature you can find the output I get.
By the way: what is the "% source_info" string you have
in your output?

The first thing to do is the following: after compiling the PPL
with `make', please run the regression tests with `make check'
and see if you see any failure.  Then come back to us and
we will proceed from there.
Ciao,

     Roberto

P.S. I attach your test program again in case someone on this
      list has SICStus 3.10.0 handy.  The attachment in your
      message was filtered out due to a misconfiguration of
      our mailing list software (just fixed).  The attached
      program is identical to yours with the exception
      that it assumes the most common installation path
      (`/usr/local' instead of `/usr').

-- 
Prof. Roberto Bagnara
Computer Science Group
Department of Mathematics, University of Parma, Italy
http://www.cs.unipr.it/~bagnara/
mailto:bagnara at cs.unipr.it


$ sicstus
SICStus 3.11.1 (x86-linux-glibc2.3): Fri Feb 20 18:38:25 CET 2004
Licensed to math.unipr.it
| ?- compile(prova).
% compiling /tmp/prova.pl...
%  compiling /usr/local/lib/ppl/ppl_sicstus.pl...
%   loading foreign resource /usr/local/lib/ppl/ppl_sicstus.so in module user
%  compiled /usr/local/lib/ppl/ppl_sicstus.pl in module user, 10 msec 16096 bytes
% compiled /tmp/prova.pl in module user, 20 msec 21412 bytes
yes
| ?- init.
PPL versione 0.6.1
This is the Parma Polyhedra Library (PPL) version 0.6.1.
Copyright (C) 2001-2004 Roberto Bagnara <bagnara at cs.unipr.it>.
The PPL is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.
Compiled by the GNU C++ compiler version 3.4.2.
Report bugs to ppl-devel at cs.unipr.it.
For the most up-to-date information see the Parma Polyhedra Library
site: http://www.cs.unipr.it/ppl/ .


-- Using ppl_Polyhedron_remove_higher_dimensions --

Constraints before: [1*A>=0,1*B>=0,-1*B>= -2,-1*A>= -2]
Generators before: [point(2*A+2*B),point(2*A),point(2*B),point(0)]
Dimension before: 2
Constraints after: [1*A>=0,-1*A>= -2]
Generators after: [point(2*A),point(0)]
Dimension after: 1

-- Using ppl_Polyhedron_remove_dimensions --

Constraints before: [1*A>=0,1*B>=0,-1*B>= -2,-1*A>= -2]
Generators before: [point(2*A+2*B),point(2*A),point(2*B),point(0)]
Dimension before: 2
Constraints after: [1*A>=0,-1*A>= -2]
Generators after: [point(2*A),point(0)]
Dimension after: 1
yes
| ?-


More information about the PPL-devel mailing list